Elastické pořadí hledání podle více hodnot

0

Otázka

Nařizuji mé výsledky vyhledávání elastické vyhledávání (created_at,rychlost,updated_at..), ale to, že výsledky bezvýznamnosti. druh dotazu, součástí je: [['_score' => ['order' => 'desc']],['created_at' => ['order' => 'desc']]]; Které druhy do _score a účinek created_at je opravdu nízká. Pokud to změním na [['created_at' => ['order' => 'desc']],['_score' => ['order' => 'desc']]]; výsledek by byl úplně jiný a jsou řazeny podle created_at a účinek _score je opravdu nízká. Potřebuju něco jako druh se vytvořil v s váhou 1 a řadit se _score s váhou 5, takže moje výsledky jsou částečně uspořádány podle data a relevantní.

příklad: Moje údaje zahrnují název,sazba,created_at jako 1:['modré tričko epic',5,'2021-11-21'] , 2:['červené dlouhé epické tričko',4,'2021-11-20'] , 3:['epic bílé kalhoty',5,'2021-11-22'] , 4:['deštivé počasí epix',5,'2021-11-23'] a já jsem hledat 'epic tričko' takže skóre bude například 5,4.5,4,1, takže výsledkem bude pořadí 1, pak 2, pak 3, ale když jsem si je objednat s created_at po vyhledávání výsledek pořadí bude 4, pak 3, pak 2, pak 1 a 4 dokonce neobsahuje 'epic tričko'. výsledek, který je v mé mysli je 3, pak 2, pak 1, pak 4, takže moje výsledky jsou související a nařídil created_at ( není plně objednané, ale created_at má vliv na nich), to samé se stane při objednávce s rychlostí.

elasticsearch
2021-11-20 13:43:11
1

Nejlepší odpověď

0

Jediné řešení co jsem našel je nastavení min_score tak výsledky, které jsou relevantní pro vyhledávací dotaz, budou odstraněny, tak, aby se pole, které mám rád, takže tam bude žádné irelevantní výsledek. jediným problémem tohoto řešení je, že pokud váš dotaz není blízko, aby vaše data nebudete mít žádný výsledek v reakci bez min_score by jste mít aspoň nějaké irelevantní výsledky, pokud tam byl žádný relevantní výsledek.

2021-11-23 10:18:19

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................