我没有注意到许多差异,但是当你在索引时使用EdgeNGramFilterFactory时,文档术语本身会被分解为子串,然后你的搜索字符串在这些子串上匹配,同样在索引时查询你输入被分解为子字符串,然后匹配正常的文档字符串?
这是查看此过程的正确方法还是我有误解?
谢谢!
答案 0 :(得分:0)
根据Solr Wiki: -
https://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.EdgeNGramFilterFactory
边缘n-gram分析可以在索引或查询时(或两者)执行,但通常更有用的是,如本示例所示,在索引时生成n-gram,所有n-克指向同一位置。在查询时,查询词可以直接匹配,无需任何n-gram分析。
因此,如果您在索引时执行n-gram分析,那么基本上生成的n-gram将彼此接近,从而获得更好的性能。
我将其视为数组和链接列表。在数组中,元素彼此更接近,从而导致更快的遍历。