Sphinx search предпочитает результаты поиска, начиная с поисковой фразы - PullRequest
0 голосов
/ 13 октября 2019

В результатах поиска я бы хотел расставить приоритеты в записях, которые начинаются с искомого слова, а не отображать другие фразы с искомыми словами. Я ищу: iphone xs max Текущий результат:

  • Pouzdro Vennus Soft iPhone XS Max
  • iPhone XR, iPhone XS и XS Max
  • Tvrzené sklo naiPhoner XS Max с полной обложкой
  • iPhone, iPhone, iPhone XR, XS, XS Max
  • iPhone XR, XS и XS Max - Einfach alles knnen
  • iPhone XS Max Baterie 3174 мАч
  • iPhone Xs Max 64 ГБ

но я хочу показать:

  • iPhone Xs Max 64 ГБ
  • iPhone XS Max Baterie 3174mAh
  • ... и другие

, которые означают, что первое совпадение почти лучше, потому что начинать стоит с iphone и иметь только одно дополнительное слово "64GB", а затем показыватьдругие начинаются со слова iphone и др.

Я использую Sphinx search v2.3, режим SPH_MATCH_EXTENDED2 , рейтинг SPH_RANK_EXPR . Когда мой запрос: @name ((^ iphone xs max) | ("iphone xs max") | (iphone * xs * max *)) результат такой же, как выше, но как установить «вес», чтобы 1. записывать с началаслово «iphone» будет выше 2. после того, как эти записи показывают совпадения, начинающиеся / или не совпадающие со словом iphone, но имеют меньше слов exra 3. и после этих записей показа, где iphone находится где-нибудь, и записи имеют много других слов, таких как «Tvrzené sklo na iPhoner»XS Max Full Cover "

...