NGramFilterFactory和EdgeNGramFilterFactory之间的区别

时间:2015-05-18 09:15:00

标签: solr search-engine tokenize n-gram filterfactory

我是Solr的初学者。在我的项目NGramFilterFactoryEdgeNGramFilterFactory中,两者都用于字段。根据文档我的理解是EdgeNGramFilterFactory用于"以"开头。 NGramFilterFactory适用于"包含"查询。

我为两个组合索引了一个小数据集(其中一个我只使用了NGramFilterFactory,另一个我同时使用了NGramFilterFactoryEdgeNGramFilterFactory),但我没有看到任何差异。输出

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

1 个答案:

答案 0 :(得分:5)

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