Area: API Issues
Sub-Area: Search Query Behavior
Issue
Qualified name search queries using the `/q` syntax exhibit different behavior between DataHub versions. In earlier versions (v0.13.x), queries like `/q qualifiedName:"container.dataset"` would return only exact matches. In newer versions (v1.0.x), the same query returns both exact and partial matches, with exact matches ranked highest but partial matches also included in results.
You Might Be Asking
- Why does my qualified name search return more results than expected?
- How can I get exact-match-only results for qualified name searches?
- Did the search behavior change between DataHub versions?
Solution
This behavior change is due to DataHub's search v2.5 improvements, which modified how quoted queries are processed. The `qualifiedName` field uses `WORD_GRAM` indexing with multiple Elasticsearch sub-fields:
-
qualifiedName- base keyword field (exact, unanalyzed) -
qualifiedName.delimited- text field with custom analyzer (tokenizes on dots, slashes, colons, parentheses) -
qualifiedName.keyword- raw keyword sub-field (exact match)
To achieve exact-match behavior similar to older versions, use one of these approaches:
Option 1: Use the .keyword sub-field (Recommended)
Target the raw keyword sub-field explicitly in your query:
/q qualifiedName.keyword:"."
Option 2: Disable Search v2.5 (If Available)
If you have access to feature flags, you can disable the search v2.5 feature to revert to the previous behavior. Contact your DataHub administrator or support team to modify this configuration.
Option 3: Use GraphQL API for Exact Matching
For programmatic access, use the GraphQL API with exact match filters:
query {
search(
input: {
type: DATASET,
query: "*",
filters: [
{
field: "qualifiedName",
value: ".",
condition: EQUAL
}
]
}
) {
entities {
urn
... on Dataset {
name
properties {
qualifiedName
}
}
}
}
}
Additional Notes
This is an intentional product change introduced in search v2.5 to improve search usability and recall. The exact match will still be ranked highest in the results, but partial matches are now included to provide broader search coverage. For DataHub Cloud customers, custom search configurations can be applied by Acryl Support if strict exact-match behavior is required.
Related Documentation
Tags: search, qualified-name, api, query-behavior, version-changes, exact-match, elasticsearch, graphql, breaking-changes, search-v2.5