2016-08-18 13 views
0

У меня есть довольно простой настройки мышления сфинкса:мышление Sphinx - не может получить точное соответствие первого

:

Индексы
indexes first_name, :sortable => true 
indexes last_name, :sortable => true 
indexes family_name, :sortable => true 
indexes born_date, :sortable => true 
indexes death_date, :sortable => true 

Есть некоторые другие связанные с ними модели в нем, но это еще не тот случай.

То загадку я использую:

Riddle::Query.escape(URI.decode(params[:search])), 
     :star => true, 
     :per_page => params[:per_page], 
     :page => params[:page], 
     :ranker => :sph04, 
     :match_mode => :phrase, 
     :order => ('death_date DESC') 

То, что я пытаюсь достичь является точным соответствует первым в списке. Теперь, когда я ищу «Анну», я все смешиваю как «Ханна», «Анна-Лиза» перед «Анной». Это даже хуже, когда я удаляю «заказ». Я пробовал несколько рангов и маш-режимы без везения. Было бы идеально, если бы я получил точную мачку сверху и отсортировал ее по другому атрибуту (дате) и другим совпадениям после него, также отсортированным по дате.

Только решение, которое пришло мне в голову, сортируется по длине результата (короче, ближе к точному совпадению), но, возможно, есть какое-то лучшее решение?

Любые подсказки, как исправить это?

ответ

1
:order => ('death_date DESC') 

Ну, что будет полностью игнорировать «вес», и только порядок по этому атрибуту.

Сортировка по конкретному значению, И по весу, является твердой. Может возможно посмотреть на какой-то гибрид, системы на основе сегмента http://sphinxsearch.com/blog/2010/06/27/doing-time-segments-geodistance-searches-and-overrides-in-sphinxql/

Я получаю все смешивается, как «Ханна»,

, если вы подходите, что звучит, как у вас есть enable_star набор до 0 как-то , И/или expand_keywords (это параметры конфигурации sphinx, не знаю, как перевести в thinkSphinx.)

.. выключив их, следует разрешить только «во время совпадения слов».

В этом случае следует получить лучшие результаты. Помимо этого, хотя SPH04 предназначен для продвижения матчей «точного поля», я не нахожу, что он работает так хорошо. Может играть с пользовательскими рейтингами.

или http://sphinxsearch.com/forum/view.html?id=1923 имеет несколько способов немного манипулировать запросами, чтобы способствовать достижению результатов.

 Смежные вопросы

  • Нет связанных вопросов^_^