elasticsearch,n-gram,Autocomplete,elasticsearch,N Gram" /> elasticsearch,n-gram,Autocomplete,elasticsearch,N Gram" />

Autocomplete Elasticsearch自动完成双精度匹配查询项

Autocomplete Elasticsearch自动完成双精度匹配查询项,autocomplete,elasticsearch,n-gram,Autocomplete,elasticsearch,N Gram,我已经使用edge ngrams在Elasticsearch中实现了自动完成。一切正常,但有一个奇怪的情况,我的实现不够聪明,无法处理 假设我为两个文档编制了索引 Green Dragon Green Griffin 我打字 green gr 我得到的结果是 Green Dragon Green Griffin 我正在使用带有“and”运算符的“match”查询,因此查询中的每个术语都必须匹配,才能使查询匹配。返回Green Dragon的原因是查询词“Green”与“Green”匹配,而

我已经使用edge ngrams在Elasticsearch中实现了自动完成。一切正常,但有一个奇怪的情况,我的实现不够聪明,无法处理

假设我为两个文档编制了索引

Green Dragon
Green Griffin
我打字

green gr
我得到的结果是

Green Dragon
Green Griffin
我正在使用带有“and”运算符的“match”查询,因此查询中的每个术语都必须匹配,才能使查询匹配。返回Green Dragon的原因是查询词“Green”与“Green”匹配,而查询词“gr”也与“Green”匹配。当然,我想从结果中排除青龙


似乎要解决这个问题,Elasticsearch需要跟踪索引中已匹配的标记,而不是重用它们。在Elasticsearch中有什么方法可以做到这一点吗?

更改字段分析器。你的解释很好