我正在寻找一种在短语或文本中搜索子字符串的方法。我知道我可以使用ngram
标记程序并设置min-gram
和max-gram
来实现这一目标。但是由于弹性搜索在ngram的最小值和最大值大于1时会显示弃用警告,因此我正在寻找其他锻炼方法。例如,我有以下文本:
Fox is a animal
The quick fox is cunning
Fox is quick
现在,我想搜索nim
以获取第一个文档。搜索fox
将给出全部三个结果。搜索quick fox
将给出最后两个。我使用ngram
标记器和min-gram
和max-gram
实现了这一结果。
我为min-gram
使用了max-gram
值为2且analyzer
值为8的过滤器。在我的search-analyzer
中,我使用了whitespace
标记程序来实现我想要的功能。是否有其他解决方法可以达到相同的结果,而又不使用min-gram
和max-gram
的不同之处。该解决方案的问题是,它显示ngram
差异超过一个的过时警告。