[FR] Add regex comparator ~
to search functions for string attributes and tags
#11898
Open
2 of 22 tasks
Labels
area/server-infra
MLflow Tracking server backend
area/tracking
Tracking service, tracking client APIs, autologging
enhancement
New feature or request
help wanted
We would like help from the community to add this support
Willingness to contribute
Yes. I can contribute this feature independently.
Proposal Summary
Currently the only string comparators available to Search Experiments and Search Runs are
=, !=, LIKE, ILIKE
. While these comparators are sufficient for many use cases, they only allow for relatively simple queries, especially considering MLflow only allows you to chain together expressions with theAND
operator and is missing theOR
operator (see: #6075). WhileLIKE
andILIKE
allow you to do some string matching they both lack the complexity of full regex expressions.In addition, the FileStore already substitutes
LIKE
for the regex operator causing operations that worked in the FileStore to error out in a SqlAlchemyStore.Motivation
Users can make more complex queries of their experiments and runs.
String querying is limited to relatively simple operations, this unlocks a much deeper querying ability. Additionally, regex supports an OR operator which at least partially unblocks user in need of that operation, while being much simpler to implement.
We need to query tags in a way that is outside the scope of
LIKE
MLflow string querying is limited.
Details
Modify this function to be this:
And update all comparator checks to include the
~
operator such as here and here:and
What component(s) does this bug affect?
area/artifacts
: Artifact stores and artifact loggingarea/build
: Build and test infrastructure for MLflowarea/deployments
: MLflow Deployments client APIs, server, and third-party Deployments integrationsarea/docs
: MLflow documentation pagesarea/examples
: Example codearea/model-registry
: Model Registry service, APIs, and the fluent client calls for Model Registryarea/models
: MLmodel format, model serialization/deserialization, flavorsarea/recipes
: Recipes, Recipe APIs, Recipe configs, Recipe Templatesarea/projects
: MLproject format, project running backendsarea/scoring
: MLflow Model server, model deployment tools, Spark UDFsarea/server-infra
: MLflow Tracking server backendarea/tracking
: Tracking Service, tracking client APIs, autologgingWhat interface(s) does this bug affect?
area/uiux
: Front-end, user experience, plotting, JavaScript, JavaScript dev serverarea/docker
: Docker use across MLflow's components, such as MLflow Projects and MLflow Modelsarea/sqlalchemy
: Use of SQLAlchemy in the Tracking Service or Model Registryarea/windows
: Windows supportWhat language(s) does this bug affect?
language/r
: R APIs and clientslanguage/java
: Java APIs and clientslanguage/new
: Proposals for new client languagesWhat integration(s) does this bug affect?
integrations/azure
: Azure and Azure ML integrationsintegrations/sagemaker
: SageMaker integrationsintegrations/databricks
: Databricks integrationsThe text was updated successfully, but these errors were encountered: