[UX BUG] Search fails to match names with underscores (e.g. "house prices nominal" misses "house_prices_nominal")
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 33
- Forks
- 30
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 6
Description
Description: The current search implementation creates a discovery hurdle for users who search using natural language (spaces) for datasets that utilize underscores in their identifiers.
Steps to Reproduce:
1 - Search OpenML for house prices nominal.
2 - Notice that the top results are relevant but the exact match house_prices_nominal is missing or buried.
3 - Search for house_prices_nominal with underscores.
4 - Notice it appears immediately as the top result.
Impact: This is a high-priority UX issue because users naturally search with spaces. Having to know the exact underscore placement makes the search feel "broken" or "incomplete" for a large number of datasets.
Root Cause Analysis: The current Elasticsearch query builder appears to treat underscores as part of a single token rather than a word delimiter. When a user types a space, the analyzer doesn't correlate it with the underscore in the record's name.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Elasticsearch query builder used by the current search implementation and reproduce the two searches from the issue. Trace how spaces and underscores are analyzed, then verify that searching for "house prices nominal" returns "house_prices_nominal" as a top result while preserving the existing exact-underscore search behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- elasticsearch, typescript
- Domain
- search
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100