поиск по нескольким словам в solr (sunspot) для поиска ближайшего совпадения - PullRequest
2 голосов
/ 22 февраля 2012

Я использую солнечную точку для поиска в моем приложении rails, но я не получаю результаты, на которые надеюсь.

У меня есть индекс, построенный на поле имени моих моделей классов, поэтому у меня есть, например,

Engineering
Electrical Engineering
Mechanical Engineering
Fluid Dynamics

Если пользователь ищет fluid engineering, я подозревал, что солнечное пятно выдастЯ вернул все результаты по жидкости и технике и позволил мне понять, чего я хотел оттуда.Но, к сожалению, я получаю пустой набор результатов.

Я ставлю свой запрос в Solr следующим образом

classes = Sunspot.search Class do |query|
            query.keywords params[:search]
        end.results
        return render :json=> classes

Я пытался объединить свои параметры [: search] с +, заключив его в {} и (), ноУ меня нет результатов, которые я ищу.Я думаю, что проблема в том, как отправляется запрос, а не в настройках solr в файле xml, но я не совсем уверен.

Мой анализатор

 <analyzer>
         <tokenizer class="solr.StandardTokenizerFactory"/>
         <filter class="solr.StandardFilterFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
         <filter class="solr.NGramFilterFactory" minGramSize="2" maxGramSize="15"/>
         <filter class="solr.PhoneticFilterFactory" encoder="DoubleMetaphone" inject="true"/>
       </analyzer>
...