我在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”分析器,但尝试使用术语过滤器代替术语查询
同时检查文档的当前映射

09-10 15:44