Как я могу добавить вес к ключевому слову для мышления сфинкса - PullRequest
0 голосов
/ 03 декабря 2011

Я выполнил такой поиск,

`  Comment.search "aabbb "`

, и я хочу получить результаты, которые также содержат "ab" .;Таким образом, я сделал так:

`  Comment.search "aabbb ab"`

но я обнаружил, что результаты aabbb и ab смешаны, на самом деле, я хочу сделать результаты, которые соответствуют aabbb, показанным до ab,другими словами, иметь более высокий приоритет.

Я знаю, что sphinx может добавлять вес в поля таблицы.например, добавьте 10 к имени комментария, 20 к содержанию комментария.но возможно ли прибавить вес к запросу работам?

Ответы [ 2 ]

1 голос
/ 11 августа 2013

К сожалению, это невозможно с sphinx, но вы можете добавить подобное поведение в запрос, добавив несколько раз ключевое слово, которое вы хотите весить.

Например:

"aabbb | aabbb | ab"
The aabbb is twice more important than ab
0 голосов
/ 03 декабря 2011

Боюсь, у Сфинкса нет возможности взвешивать определенные поисковые фразы, поэтому то, что вы пытаетесь сделать, невозможно.

Стоит также отметить, что Sphinx по умолчанию использует логику AND - если вы хотите, чтобы результаты соответствовали либо aabbb, либо ab ab, вы, вероятно, захотите использовать режим: any match:

Comment.search "aabbb ab", :match_mode => :any
...