У меня есть довольно простой настройки мышления сфинкса:мышление 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')
То, что я пытаюсь достичь является точным соответствует первым в списке. Теперь, когда я ищу «Анну», я все смешиваю как «Ханна», «Анна-Лиза» перед «Анной». Это даже хуже, когда я удаляю «заказ». Я пробовал несколько рангов и маш-режимы без везения. Было бы идеально, если бы я получил точную мачку сверху и отсортировал ее по другому атрибуту (дате) и другим совпадениям после него, также отсортированным по дате.
Только решение, которое пришло мне в голову, сортируется по длине результата (короче, ближе к точному совпадению), но, возможно, есть какое-то лучшее решение?
Любые подсказки, как исправить это?