Сфинкс, установите точное совпадение для каждой записи?

Итак, в последнее время я использую Sphinx с проектом rails, я хочу предоставить список «возможных» точных совпадений, которые будут на 100% соответствовать заданному условию. Например что-то вроде:

+==================+==========================================================+
|  ingredient      |  exact matches                                           |
+==================+==========================================================+
|  cheese, cream   |  'cream cheese','philadephia cream cheese','cream chese',|
|                  |  'creamed cheese'                                        |
+------------------+----------------------------------------------------------+
|  Cheese, gruyere |  'gruyere','gruyer cheese','gruyeres cheese'             |
|                  |  'gruyere chese'                                         |
+------------------+----------------------------------------------------------+
|  Cheese, blue    |  'blue cheese','blu cheese'                              |
+------------------+----------------------------------------------------------+

Итак, в основном функциональность, которую я ищу, будет заключаться в том, что Sphinx будет пытаться выполнить свое типичное сопоставление для всех записей, но если поисковый запрос точно совпадает с одной из строк в массиве в этой записи, этот результат будет иметь гораздо более высокий масса. (например, 100x, тогда это будет лучшее совпадение)

Это возможно? Похоже, что у других была бы эта проблема раньше ... нет?


Обновить

Я полагаю, что лучшим ответом может быть просто проиндексировать столбец exact matches и придать терминам действительно высокий вес.

Я не уверен, как я могу разбить "массив" и посмотреть, совпадает ли поисковый запрос в точности ...


person JP Silvashy    schedule 14.09.2010    source источник


Ответы (1)


Вам стоит попробовать поиграть с режимами поиска сфинксов. Посмотрите на фразу соответствия и расширенное соответствие2.

person Iaroslav Vorozhko    schedule 03.12.2010