Refine the search implementation #25
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes a bug seen in production where the ordering of the results for "numpy" meant that numpy wasn't on the first page, and therefore it was being injected (without summary) as the first result. To address this, I have implemented the desired ordering semantics of the search. In doing so, I re-wrote the search SQL building functionality to make it more modular and easier to extend in the future (looking at you classifier search, and label/link filter)
Furthermore, this fixed fuzzy pattern wildcard handling, for example
numpy*
now correctly matches only prefix patterns (numpy
,numpy-image
) and no longer incorrectly matches suffix patterns (xnumpy
). The tests for this are quite extensive.