我没有注意到很多不同之处,但是当您在索引时使用EdgeNGramFilterFactory时,文档术语本身会被分解为子字符串,然后搜索字符串将与这些子字符串进行匹配,同样,在索引时,您输入的查询将被分解为子字符串,然后再与普通文档字符串进行匹配?
这是一个正确的方式来看待这个过程,还是我有一个误解?
谢谢!
发布于 2017-07-21 12:11:36
根据Solr Wiki :-
https://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.EdgeNGramFilterFactory
边缘n元语法分析可以在索引或查询时(或两者)执行,但是如本例中所示,通常更有用的是在索引时生成n元语法,其中所有n元语法在相同的位置被索引。在查询时,可以直接匹配查询术语,而不需要任何n元语法分析。
因此,基本上,如果您在索引时执行n-gram分析,生成的n-gram将彼此接近,从而获得更好的性能。
我将其视为数组和链接表。在数组中,元素之间的距离更近,导致遍历速度更快。
https://stackoverflow.com/questions/45225445
复制相似问题