java - Elasticsearch 匹配/术语查询不返回完全匹配

标签 java nosql elasticsearch

我在 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/

相关文章:

Java 守护进程 - 处理关闭请求

nosql - Cassandra = ReadRepair 会阻止缩放读取吗?

mongodb - 如何$unwind嵌入文档(非列表)

mysql - 关于社交网站DB的问题

python - 多个字段的模糊性-仅在某些字段上使用模糊性

mongodb - 将数据放入Elasticsearch时,如何处理有时具有不同结构的字段?

elasticsearch - Elastic Search query_shard_exception 执行查询失败

java - 使用 Spring 在 Hibernate 中存储计算数据 (passwordHash)

java - 如何获取 Java 应用程序的准确执行点?

java - org.hsqldb.HsqlException : unexpected token: WITH