Ruby on rails 如何在Sunspot Solr(rails)中返回搜索结果,而不是所有令牌都存在?
我正在rails应用程序中运行太阳黑子Solr。我使用它来让用户通过在Ruby on rails 如何在Sunspot Solr(rails)中返回搜索结果,而不是所有令牌都存在?,ruby-on-rails,search,solr,sunspot-rails,Ruby On Rails,Search,Solr,Sunspot Rails,我正在rails应用程序中运行太阳黑子Solr。我使用它来让用户通过在:name属性上使用全文搜索来搜索不同的“文章”。在这个时候,我已经配置了太阳黑子Solr,它工作得很好 但是,当我搜索狗鼠猫(作为一个例子)时,它只返回包含所有关键字的文章。我如何配置Solr以显示像“狗和猫”这样的文章?在上面的查询示例中,它只包含3个搜索关键字中的2个 模型中的Mysearchable块: searchable do text :name end 我当前用于全文搜索的schema.xml如下所示
:name
属性上使用全文搜索来搜索不同的“文章”。在这个时候,我已经配置了太阳黑子Solr,它工作得很好
但是,当我搜索狗鼠猫
(作为一个例子)时,它只返回包含所有关键字的文章。我如何配置Solr以显示像“狗和猫”这样的文章?在上面的查询示例中,它只包含3个搜索关键字中的2个
模型中的Mysearchable
块:
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 do
fulltext text do
fields :name
minimum_match 2
end
end