-
Notifications
You must be signed in to change notification settings - Fork 696
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hybrid - Minimum viable results - acceptance threshold - skip very bad results #4315
Comments
Note, the idea here is not to filter on the final hybrid score, but instead to filter out results based on the separate scores/distances before we get to calculate the final hybrid score. |
/bounty $200 |
💎 $200 bounty • WeaviateSteps to solve:
Additional opportunities:
Thank you for contributing to weaviate/weaviate! Add a bounty • Share on socials
|
/attempt #4315 Options |
/attempt
|
/attempt Options |
Filtered vector and keyword search results according to threshold params in hybrid search Fixes weaviate#4315
💡 @dresslife-shbh submitted a pull request that claims the bounty. You can visit your bounty board to reward. |
Describe your feature request
Currently, hybrid search doesn't allow me to filter out really poor results – those where both keyword and vector search provide with very poor results.
It would be great if we could provide an
acceptance threshold
as part of a hybrid query, where we would require at least on of them to be satisfied to return an object i.e.This way we could eliminate results that are poor on both fronts (keyword and vector).
Example:
I have two objects:
If I search for "sandwich", this should result in poor results on both fronts, and I would expect no results back.
While a search for "aeroplane", should result in a vector match (and no match on BM25), and I should get back the two objects back.
Proposed solution
Note
BM25 alone doesn't return if no match was made ;)
If I run:
The query returns 0 objects.
So, that is already a good indicator that we rely solely on the vector search. ;)
Code of Conduct
The text was updated successfully, but these errors were encountered: