【问题标题】:Getting fuzzy searching to work for Sunspot?让模糊搜索为太阳黑子工作?
【发布时间】:2011-11-11 23:10:26
【问题描述】:

我的数据库或 Solr 索引中有以下 2 个产品:Total War: Shogun 2 [下载]彩蛋

我希望搜索能够做的是匹配这 2 个有错误的产品,例如:

"Egggs", "Eggz", "Eg", "Egs" and "Shogn Download", "Totle War","Tutal War: Shogunn 2 Download"

编辑(有点工作):

这将使您入门,尽管在搜索中使用不同的字符仍然会遇到问题,即仅使用 “鸡蛋”“超值维生素 D 全脂牛奶” 可能拼写错误而不是“Total War: Shogun 2”

新代码:

<fieldType name="text" class="solr.TextField" omitNorms="false">
        <analyzer type="index">
            <tokenizer class="solr.WhitespaceTokenizerFactory"/>
            <filter class="solr.WordDelimiterFilterFactory" stemEnglishPossessive="1" splitOnNumerics="1" splitOnCaseChange="1" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="1" preserveOriginal="1"/>
            <filter class="solr.PhoneticFilterFactory" encoder="DoubleMetaphone" inject="true"/>
            <filter class="solr.LowerCaseFilterFactory"/>
            <filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="50" side="front"/>
        </analyzer>
        <analyzer type="query">
            <tokenizer class="solr.WhitespaceTokenizerFactory"/>
            <filter class="solr.WordDelimiterFilterFactory" stemEnglishPossessive="1" splitOnNumerics="1" splitOnCaseChange="1" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="1" preserveOriginal="1"/>
            <filter class="solr.PhoneticFilterFactory" encoder="DoubleMetaphone" inject="true"/>
            <filter class="solr.LowerCaseFilterFactory"/>
        </analyzer>
    </fieldType>

理想的情况是能够像 Google 一样进行我的搜索,它可以很好地纠正您的拼写,无论是小写、大写还是一些错误。如何使我的搜索类似于 Google 所做的?

【问题讨论】:

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


    【解决方案1】:

    模糊搜索不进行查询时间分析。
    因此,您查询的可能与索引词不匹配。

    上述配置中的术语,在索引过程中会进行小写过滤,这会将所有术语存储为小写。
    并且搜索 Egggs 永远不会产生任何结果,因为 Egggs 不会匹配鸡蛋。 搜索词需要明确小写。

    此外,在上述配置中,索引时间分析与查询时间分析有很大不同。
    通常建议在查询和索引期间有类似的过滤器,以便索引词与搜索词匹配。

    solr.PorterStemFilterFactory 可能会导致搜索词的根完全不同,并且可能永远不会匹配索引词。

    重新访问您的配置。也许检查示例 solr schema xml 以供参考。

    【讨论】:

      猜你喜欢
      • 2013-04-24
      • 1970-01-01
      • 1970-01-01
      • 2015-12-20
      • 2014-03-29
      • 1970-01-01
      • 1970-01-01
      • 2014-05-30
      • 1970-01-01
      相关资源
      最近更新 更多