来自弹性搜索文档
注意:所有令牌都在相同位置发出,并且具有相同的字符偏移量。例如,这意味着,使用此分析器的john-smith_123@foo-bar.com的匹配查询将返回包含任何这些标记的文档,即使使用and运算符也是如此。同样,当与突出显示结合使用时,整个原始令牌将被突出显示,而不仅仅是匹配的子集。例如,在上述电子邮件地址中查询“史密斯”将突出显示: https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-pattern-capture-tokenfilter.html
有没有一种方法可以生成具有不同位置/偏移量的令牌?
以弹性搜索提供的示例为例,我希望能够在com
和john
上进行搜索,但是据我所知,它将匹配包含com
或{ {1}},因为它们将被视为相同位置。
(在我的情况下,我想这样做是为了进行代码分析,与他们给出的2秒示例类似)
john
答案 0 :(得分:0)
我不完全理解您的问题,但是您似乎想做的是:确保索引标记生成器按预期中断输入,这意味着有一个'com'标记和'john'标记。您可以通过运行分析请求来检查令牌生成器:https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-analyze.html
在对输入进行了分析并按预期进行标记后,您可以运行John AND com查询,它应该可以按预期运行。