【发布时间】:2015-02-20 05:12:02
【问题描述】:
我正在我的 rails 应用程序中运行 Sunspot Solr。我正在使用它使用户能够通过在:name 属性上使用全文搜索来搜索不同的“文章”。目前,我已经配置了 Sunspot Solr,它运行良好。
但是,当我搜索dog mouse cat(例如)时,它只返回包含所有关键字的文章。如何配置 Solr 以显示诸如“狗和猫”之类的文章 - 它仅包含上面查询示例中 3 个搜索关键字中的 2 个?
模型中我的searchable 块:
searchable do
text :name
end
我当前的schema.xml 全文搜索如下所示:
<fieldType name="text" class="solr.TextField" omitNorms="false">
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" tokenizerFactory="solr.StandardTokenizerFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>
【问题讨论】:
-
可能有文本块,遗憾的是文档并不清楚。
-
或者
Model.search{ any_of { keywords 'dog'; keywords 'mouse' ...}}
标签: ruby-on-rails search solr sunspot-rails