Сфинкс поиск точного соответствия

full-text-search sphinx

287 просмотра

1 ответ

В моем индексе в SphinxSearch я бы хотел, чтобы на первой позиции было точное совпадение фазы поиска. Но я получил точную математику на ~ 6-й позиции.

Например:

SELECT id, WEIGHT()
FROM `products_elit_cs`
WHERE MATCH('BKR5EK') 
ORDER BY WEIGHT() DESC
OPTION ranker=sph04

возвращает [результат sphinxsearch]

id  weight()
199001  7528
279018  7528
385989  7528
4513542 7528
4759603 7528
58449   7527
297335  6528
4759601 6527
5030474 6527
341879  4527

но исходные данные [MySQL результат]

id  active_number_cs
58449   BKR5EK
199001  BKR5EKU
279018  BKR5EKUP
297335  BKR5EKB-11
341879  V-23 BKR5EK
385989  BKR5EKC
4513542 BKR5EKUD
4759601 BKR5EKPB-13
4759603 BKR5EKUC
5030474 BKR5EKPB-11

Обратите внимание, что запись с идентификатором 58449 является точной математикой.

Мы используем версию 2.1.6 sphinxsearch.

Автор: Dingo Источник Размещён: 26.10.2019 02:05

Ответы (1)


1 плюс

Решение

Я думаю, у вас есть enable_star=0да? http://sphinxsearch.com/docs/archives/manual-2.1.6.html#conf-enable-star

предложил бы перейти на enable_star=1, а затем добавить expand_keyword=1 http://sphinxsearch.com/docs/archives/manual-2.1.6.html#conf-expand-keywords

Это должно позволить вам ранжировать точные совпадения выше. Возможно, нужно экспериментировать с различными выражениями ранжирования. http://sphinxsearch.com/docs/archives/manual-2.1.6.html#weighting

Автор: barryhunter Размещён: 21.03.2016 01:39
Вопросы из категории :
32x32