在solr(太阳黑子)中进行多字搜索以返回最接近的匹配

时间:2012-02-22 17:58:13

标签: solr sunspot-rails sunspot-solr

我正在使用太阳黑子搜索我的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

我尝试加入我的params [:search]和+,将其包含在{}()中,但我还没有得到我想要的结果。我认为问题在于如何发布查询而不是xml文件中的solr设置,但我并不完全正面。

我的分析仪是

 <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>

0 个答案:

没有答案