NGramFilterFactory和EdgeNGramFilterFactory之间的区别

sud*_*d29 3 solr search-engine tokenize n-gram filterfactory

我是索尔的初学者.在我的项目,NGramFilterFactory并且EdgeNGramFilterFactory,两者都被用于一个字段.我对文档的理解EdgeNGramFilterFactory是用于"开始于"查询,而NGramFilterFactory适用于"包含"查询.

我索引两者的组合小的数据集(在其中我只用NGramFilterFactory并且在另一个我用既NGramFilterFactoryEdgeNGramFilterFactory),但我没有看到在输出任何差异.

如果我的理解是正确的,那么在某种程度上EdgeNGramFilterFactory是一个子集NGramFilterFactory.如果这是真的那么在同一个领域使用两种类型的过滤器有什么好处?

Ale*_*tch 5

你不应该在同一个领域使用这两个过滤器,它们会完全搞砸你的匹配.如果您需要在令牌中间匹配,则使用NGrams.如果您只需从头开始匹配,则使用EdgeNGrams.从来没有在一起.

  • 不推荐使用来自末尾的匹配,并且 - 在以后的Solr中 - 不起作用.如果需要从末尾进行匹配,则应在分析链和查询链中使用反转过滤器. (3认同)