2013-12-03 2 views
-1

Использование Rails 3.2, Sphinx Поиск и мышление Sphinx gem. Я попытался обертывание % и * и подстановочные знаки, в ключевых слов в мой контроллер, но не может достичь того, чего я хочу:Хороший поисковый запрос у Sphinx

Ключевые слова для поиска:

  • мировой торговли
  • worldtrade
  • Worl торговли
  • мировой торговли
  • трад Worl

Ожидаемые совпадающая результаты поиска:

  • Всемирный торговый центр

Как отформатировать ключевые слова в мой контроллер, так что я получаю результат ожидаемого поиска с различными ключевыми словами, как показано выше?

ответ

1
  • Для Сфинкса символ подстановки - *, поэтому нет смысла использовать%.
  • Если вы хотите, чтобы в каждом запросе добавлялись подстановочные знаки, используйте: star => true в вашем поисковом вызове Thinking Sphinx.
  • Если вы хотите совместить слова в словах, вам необходимо включить либо min_prefix_len or min_infix_len. Значение по умолчанию 0 (отключено), но, учитывая ваши примеры, возможно, 4 является хорошей настройкой? Чем ниже, тем больше ваши индексные файлы получаются (и поэтому поиск может замедляться), поэтому, возможно, не устанавливайте его в 1, если вам не нужно.
  • Все вышеперечисленные моменты не будут соответствовать «worldtrade», потому что вы предоставляете одно длинное слово вместо двух отдельных. Вы можете посмотреть, как добавить файл wordforms в конфигурацию Sphinx, но в этом случае это может быть излишним, так как вы хотите охватить каждый конкретный случай.
Смежные вопросы