除了使用ngram

时间:2019-01-17 10:33:34

标签: elasticsearch n-gram

我正在寻找一种在短语或文本中搜索子字符串的方法。我知道我可以使用ngram标记程序并设置min-grammax-gram来实现这一目标。但是由于弹性搜索在ngram的最小值和最大值大于1时会显示弃用警告,因此我正在寻找其他锻炼方法。例如,我有以下文本:

Fox is a animal
The quick fox is cunning
Fox is quick

现在,我想搜索nim以获取第一个文档。搜索fox将给出全部三个结果。搜索quick fox将给出最后两个。我使用ngram标记器和min-grammax-gram实现了这一结果。

我为min-gram使用了max-gram值为2且analyzer值为8的过滤器。在我的search-analyzer中,我使用了whitespace标记程序来实现我想要的功能。是否有其他解决方法可以达到相同的结果,而又不使用min-grammax-gram的不同之处。该解决方案的问题是,它显示ngram差异超过一个的过时警告。

0 个答案:

没有答案