Apply recommended index settings: add attribute ranking rule to products index #3
Labels
No labels
bug
chore
documentation
enhancement
feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
shoppy/shoppy-index-configuration#3
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Apply the index-side fix recommended in
docs/research-brief-meilisearch-search-relevance.mdto the Shoppy Meilisearch products index.The brief diagnosed why singular queries (
banana,apple) fail to surface actual produce while plurals (bananas,apples) work. Primary root cause: theattributeranking rule is missing from the index settings, so oncewords/typo/proximitytie for a single-word query, thesortrule (price asc, the BFF default) decides everything — the cheapest product mentioning "banana" (e.g. a $0.80 yoghurt pouch) beats actual bananas.Recommended change
exactnessbeforesort(penalises plural-named produce; tested worse).banana↔bananassynonyms (no measurable benefit givenprefixSearch: "indexingTime").Scope
shoppy-products.jsonin this repo — ranking rules updated (done).shoppy-indexes/shoppy-test.json(consumed byproduct-syncviaMEILISEARCH_INDEX_CONFIG_PRODUCTS).shoppy-categories.jsonfor consistency.shoppy-test-v10) — settings apply automatically at index creation; no data changes needed.Validation
Per section 6 of the brief, with the app default sort + store header:
banana/coles →Bananas#1 (was pouch #1).banana/woolworths → 2 of top 3 are produce.apple/woolworths+coles → actual apples in top 3.bananas,apples), category browse, specials, facet filtering._rankingScoreDetailsto confirmattributeappears at order 3 andsortonly breaks ties.Notes / blockers
10.1.5.170:1234) is down — the next fresh index run will fail to embed unless restored (unrelated to this change, but blocks re-embedding).PUT /indexes/{uid}/settingsand several sub-routes; use the allowed sub-routes (ranking-rules, etc.) if scripting the change directly.attributeranking rule to products index #4is_specialmissing from sortable-attributes — breaks BFF category browse (400 invalid_search_sort) #9is_specialmissing from sortable-attributes — breaks BFF category browse (400 invalid_search_sort) #9