Можно ли ставить звездочку () между поисковым текстом. Пример => peo le
Подстановочный знак (*) Поиск с мыслящим сфинксом
Ответы (2)
Параметр enable_star разрешает сопоставление префиксов ('foo *') и сопоставление инфиксов ('* foo *'). Однако это не позволяет вам вставлять * в середине слова, когда задается вопрос. Лучшее простое решение, которое я могу предложить для описанного случая, - это поиск двух слов с соответствием "любое":
IndexedThingie.search('peo le', :match_mode => :any)
Если вам специально требуется соответствие стилей «все» для всего остального, вам следует изучить синтаксис сопоставления выражений в руководстве по Sphinx (http://sphinxsearch.com/docs/2.0.1/extended-syntax.html), которое доступно если вы укажете «расширенный» режим сопоставления (см. документацию по режиму сопоставления TS: http://freelancing-god.github.com/ts/en/searching.html#matchmodes). Это может быть сложно, но после некоторых манипуляций с вводом для поиска вы сможете справиться с этим. В частности, обратите внимание на оператор «строгого порядка», «‹<».
IndexedThingie.search('peo << le', :match_mode => :extended)
да. enable_star: 1
или enable_star: true
в вашем sphinx.yml.