Elasticsearch自动完成与查询字词的双重匹配
问题描述:
我已经在Elasticsearch中使用边界-ngrams实现了自动完成功能。一切工作正常,但有一个奇怪的例子,我的执行不够聪明,无法处理。Elasticsearch自动完成与查询字词的双重匹配
假设我有索引的两个文件,
Green Dragon
Green Griffin
和I型
green gr
结果我回来是
Green Dragon
Green Griffin
我使用的是 “匹配” 的查询与“和”运算符,因此查询中的每个术语必须匹配才能匹配查询。返回Green Dragon的原因是因为查询术语“绿色”匹配“绿色”,查询术语“gr”也匹配“绿色”。当然,我想把绿龙从结果中排除出去。
似乎要解决这个问题Elasticsearch需要跟踪索引中的哪些标记已匹配,而不是重用它们。在Elasticsearch中有没有办法做到这一点?