我在 Java 项目中使用 elasticsearch,文档格式如下
/index/type/_mapping
{
"my_id" : "string"
}
现在,假设 my_id 值是 A01、A02、A01.A1、A012.AB0
对于查询,
{
"query" : {
"term" : {
"my_id" : "a01"
}
}
}
观察到:返回的文件是 A01、A01.A1、A012.AB0
预计:我只需要A01文件。
我寻找解决方案,发现我必须为 my_id 字段使用自定义分析器。我不想更改文档的映射。 此外,我在查询中使用了 "index": "not_analyzed" 但输出没有变化。
最佳答案
是的,您可以使用“not_analyzed”分析器,但请尝试使用术语过滤器而不是术语查询 同时检查文档的当前映射
关于java - Elasticsearch 匹配/术语查询不返回完全匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20489895/