【问题标题】:What is the difference between using Solr's EdgeNGramFilterFactory at index time vs query time?在索引时间和查询时间使用 Solr 的 EdgeNGramFilterFactory 有什么区别?
【发布时间】:2017-07-20 21:23:22
【问题描述】:

我没有注意到很多差异,但是当您在索引时使用 EdgeNGramFilterFactory 时,文档术语本身会被分解为子字符串,然后您的搜索字符串会在这些子字符串上匹配,同样在索引时查询您enter 被分解成子字符串,然后在普通文档字符串上匹配?

这是查看此过程的正确方法还是我有误解?

谢谢!

【问题讨论】:

    标签: apache solr tokenize


    【解决方案1】:

    根据 Solr Wiki:-

    https://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.EdgeNGramFilterFactory

    边缘 n-gram 分析可以在索引时或查询时(或两者)执行,但通常更有用,如本例所示,在索引时生成所有 n-gram克索引在同一位置。在查询时,查询词可以直接匹配,无需任何 n-gram 分析。

    因此,如果您在索引时执行 n-gram 分析,生成的 n-gram 基本上会彼此接近,从而获得更好的性能。

    我将其视为数组和链表。在数组中,元素之间的距离更近,因此遍历速度更快。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-26
      • 2011-07-26
      • 1970-01-01
      相关资源
      最近更新 更多