【问题标题】:How to return search results in Sunspot Solr (rails) where not all tokens are present?如何在并非所有令牌都存在的 Sunspot Solr (rails) 中返回搜索结果?
【发布时间】: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>

【问题讨论】:

标签: ruby-on-rails search solr sunspot-rails


【解决方案1】:
Model.search do
  fulltext text do
    fields :name
    minimum_match 2
  end
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多