Elastické vyhľadávanie poradí podľa viacerých hodnôt

0

Otázka

Som objednávanie výsledky hľadania elastické vyhľadávať (created_at,hodnotiť,updated_at..), ale to je robiť výsledky bezvýznamnosti. zoradiť časť dotazu je: [['_score' => ['order' => 'desc']],['created_at' => ['order' => 'desc']]]; Ktoré druhy podľa _score a účinok created_at je naozaj nízka. Ak by som ho zmeniť na [['created_at' => ['order' => 'desc']],['_score' => ['order' => 'desc']]]; výsledkom bude úplne iný a sú zoradené podľa created_at a účinok _score je naozaj nízka. Potrebujem niečo ako triediť s vytvorené v s hmotnosťou 1 a triediť s _score s hmotnosťou 5, takže moje výsledky sú semi zoradené podľa dátumu a relevantné.

príklad: Môj údaje zahŕňajú názov,hodnotiť,created_at ako 1: ["modrej epické tričko',5,'2021-11-21'] , 2:['červené dlhé epické tričko',4,'2021-11-20'] , 3:['epic biele nohavice',5,'2021-11-22'] , 4:['daždivé počasie epix',5,'2021-11-23'] a som hľadať 'epic tričko', takže skóre sa napríklad 5,4.5,4,1 tak výsledok bude objednávka 1 potom 2 potom 3, ale keď som ho objednať s created_at po vyhľadávania výsledok objednávka bude 4, potom 3, potom 2 a potom 1 a 4 nie je ani patria "epic tričko'. výsledok, ktorý je v mojej mysli je 3, potom 2 a potom 1 a 4, takže moje výsledky sú prepojené a nariadil created_at ( nie úplne objednať, ale created_at má vplyv na ich ) isté sa deje pri objednávke s mierou.

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

Najlepšiu odpoveď

0

Jediné riešenie som našiel, je nastavenie min_score tak, aby výsledky, ktoré sú irelevantné pre vyhľadávací dopyt, budú odstránené potom, aby s poľom, že som chcel, tak vyvodenie nebude irelevantné výsledok. jediný problém s týmto riešením je, že ak váš dopyt nie je v blízkosti vašich dátach nebudete mať žiadne výsledok v reakcii bez min_score by ste mať aspoň nejaký irelevantné výsledky, ak tam bol žiadny relevantný výsledok.

2021-11-23 10:18:19

V iných jazykoch

Táto stránka je v iných jazykoch

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