Здравствуйте,
если делать поиск по нескольким словам, например "hot wife", то будут показаны все галеры с любым из этих слов (SPH_MATCH_ANY).
Нужно чтобы первыми показывались с точным совпадением.
Реализовать это можно примерно так:
$sphinxSearch->setRankingMode(SPH_RANK_EXPR, 'sum((4*lcs+2*(min_hit_pos==1)+exact_hit*100)*user_weight)*1000+bm25');
(Взято от сюда: https://toster.ru/q/48542)
Вывести точные совпадения в поиске Sphinx на первое место
Re: Вывести точные совпадения в поиске Sphinx на первое мест
Да, добавить не вопрос, но вы проверили в шеле - выдает то что надо ?
Don't forget to run script update
Re: Вывести точные совпадения в поиске Sphinx на первое мест
В шеле проверял, вроде, то что надо выдает.
Re: Вывести точные совпадения в поиске Sphinx на первое мест
Скиньте плз ваш вариант строки - потестирую на нем в шеле тоже
Don't forget to run script update
Re: Вывести точные совпадения в поиске Sphinx на первое мест
Code: Select all
mysql> SELECT * FROM domain_com_scj_index WHERE MATCH('hot wife') OPTION ranker=expr('sum((4*lcs+2*(min_hit_pos==1)+exact_hit*100)*user_weight)*1000+bm25');Re: Вывести точные совпадения в поиске Sphinx на первое мест
Да, интересный вариант.
Добавлено в ап.
Добавлено в ап.
Don't forget to run script update
Re: Вывести точные совпадения в поиске Sphinx на первое мест
а без кеша?
Don't forget to run script update
Re: Вывести точные совпадения в поиске Sphinx на первое мест
Проверял без кэша.
Если менять "Sphinx Search Mod"
с SPH_MATCH_ANY
на SPH_MATCH_EXTENDED2
то результат меняется.
А при замене "Sphinx Ranker Mod" - нет.
Если менять "Sphinx Search Mod"
с SPH_MATCH_ANY
на SPH_MATCH_EXTENDED2
то результат меняется.
А при замене "Sphinx Ranker Mod" - нет.
Re: Вывести точные совпадения в поиске Sphinx на первое мест
Может быть вы провели ап быстрее чем он залился
попробуйте провести еще раз
если не меняется - скидывайте шел и запрос на котором тестировать, буду првоерять
попробуйте провести еще раз
если не меняется - скидывайте шел и запрос на котором тестировать, буду првоерять
Don't forget to run script update







