Comments (7)
The fix for nested is nice, but the global change looks less convenient to me. So, personally, no strong opinion.
we can have one without the other so it shouldn't be a factor in the decision about the weights when searchableAttributes
isn't provided
it's always good to check with @meilisearch/product-team 😊
agreed
from meilisearch.
For anything touching the product, even if it's not breaking, it's always good to check with @meilisearch/product-team 😊 Relevancy is central in the product, so at least to ensure they understand the changes 👍
The fix for nested is nice, but the global change looks less convenient to me. So, personally, no strong opinion.
from meilisearch.
Hello 👋,
the discrepancies are indeed caused by #4639
- As these tests don't specify the
searchableAttributes
, before (v1.8.1), the fields would be ordered in decreasing order of relevancy:id
(attributeRankingOrderScore=1.0
),title
(attributeRankingOrderScore=0.857
),poster
(attributeRankingOrderScore=0.714
),overview
(attributeRankingOrderScore=0.571
),release_date
(attributeRankingOrderScore=0.429
),languages
(attributeRankingOrderScore=0.286
),genres
(attributeRankingOrderScore=0.143
). Now, the fields are no longer ordered (allattributeRankingOrderScore=1.0
regardless of the field). - As these tests use the default ranking rule order,
attributes
is ranked above sort - in v1.8.1,
attributeRankingOrderScore
was what would break the tie between documents, hence the previous order (it would favor documents whereand
would appear intitle
rather thanoverview
) - in v1.9.0 it is now
queryWordDistanceScore
that breaks the tie, hence the new order (it favors documents whereand
appears near the beginning of eithertitle
oroverview
, without a preference for one or the other).
Possible fixes:
- Update the tests to match the new results,
- Explicitly set
searchableAttributes
to["title", "overview"]
, which should revert the previous behavior and results - If the idea of tests (1) and (2) is to test sort, consider changing the default ranking rule to have
sort
at first (I'm not sure, depends on what the tests want to check)
from meilisearch.
No worries about the tests, I will update them accordingly.
As these tests don't specify the searchableAttributes, before (v1.8.1), the fields would be ordered in decreasing order of relevancy: id (attributeRankingOrderScore=1.0), title (attributeRankingOrderScore=0.857), poster (attributeRankingOrderScore=0.714), overview (attributeRankingOrderScore=0.571), release_date (attributeRankingOrderScore=0.429), languages (attributeRankingOrderScore=0.286), genres (attributeRankingOrderScore=0.143). Now, the fields are no longer ordered (all attributeRankingOrderScore=1.0 regardless of the field).
This is a huge impact, I did not realize it with the #4639, my bad. Is it something we really want? I mean, it's less convenient for users regarding product perspective (before you entered most of the dataset, with title at top, and it worked), so what do we gain technically?
Did you discuss with @meilisearch/product-team before doing it? (real question, I don't know)
from meilisearch.
I mean, it's less convenient for users regarding product perspective (before you entered most of the dataset, with title at top, and it worked), so what do we gain technically?
Huuum, why is it less convenient? It still works, right? It’s just not ordered in the same way, and we didn’t rely on the fact that maybe the ordering of the first time we’ve discovered every field was important, but that was the point.
Did you discuss with @meilisearch/product-team before doing it? (real question, I don't know)
No, I think we were in a call with all the engineers, saying that it’s what we originally wanted to do but couldn’t. Since it was non-breaking and only a relevancy change, we didn’t communicate much about it except for the issue.
Is it something we really want?
No strong opinion on my side; I don't think it’s hard to revert to the previous behavior.
But we should really get @ManyTheFish and @Kerollmops in the discussion because they’re the real relevancy expert here 👀
from meilisearch.
Thanks @irevoire for summarizing the situation here
Is it something we really want?
No strong opinion either way, there's a definite benefit to avoiding "automagic" behavior, but I agree that this particular one was useful, and that the change is probably disruptive.
The important parts for me are:
gives us the ability to finally untie the importance (or weight) of each field with their order.
and the fix on the priority of nested fields.
from meilisearch.
Closing this issue, decision has been made: the behavior is expected, and we keep it as it is! 🎉
from meilisearch.
Related Issues (20)
- Federated search
- Tasks processing seems to block at some point
- Language settings
- Document DB compression
- Exp - Update documents with a function
- Upgrade dependencies
- Improve usage of the rest embedder HOT 3
- Vector store feature: improve test coverage HOT 2
- [investigation] LMDB RAM consumption is not restricted HOT 1
- RFC: make `documentTemplate` mandatory and remove `{{fields}}` syntax
- Missing apt package for ubuntu jammy HOT 1
- Improve the intersection and unions in the search pipeline
- Update minimal ubuntu version supported by Meilisearch
- Stop opening indexes to only check if they exists HOT 1
- [Experimental] Webhook and health route improvements
- Catch the `MDB_TXN_FULL` error and reduce the batch size to eventually succeed
- Meilisearch: Self-hosted cloud deployment network connection stalling
- About two major LMDB optimisation tricks HOT 1
- Update version in Cargo.toml for v1.8.4 HOT 1
- AI quality-of-life improvements for v1.10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from meilisearch.