elasticsearch 字段内项目的查询-DSL查询,elasticsearch,kibana,querydsl,elasticsearch,Kibana,Querydsl" /> elasticsearch 字段内项目的查询-DSL查询,elasticsearch,kibana,querydsl,elasticsearch,Kibana,Querydsl" />

elasticsearch 字段内项目的查询-DSL查询

elasticsearch 字段内项目的查询-DSL查询,elasticsearch,kibana,querydsl,elasticsearch,Kibana,Querydsl,我阅读了这篇文章,希望能够在我的整个日志中查询具有特定ID的ElasticApmTraceId 因此,我尝试执行以下操作以获取ElasticApmTraceID: GET /customer-simulation-es-app-logs*/_search { "query": { "match": { "fields": { "ElasticApmTraceId": "d

我阅读了这篇文章,希望能够在我的整个日志中查询具有特定ID的
ElasticApmTraceId

因此,我尝试执行以下操作以获取ElasticApmTraceID:

GET /customer-simulation-es-app-logs*/_search
{
 "query": { 
   "match": {
     "fields": {
       "ElasticApmTraceId": "da58115e800c284b8e2556185c1c8e64"
     }
   }
 }
}
但是,当我这样做时,它返回:


它返回400而不是我希望它执行的操作有什么原因吗?

根据文档的结构,
ElasticApmTraceId
字段位于
字段中。您可以使用
字段访问
ElasticApmTraceId
的值。ElasticApmTraceId

将查询修改为

{
  "query": {
    "match": {
      "fields.ElasticApmTraceId": "da58115e800c284b8e2556185c1c8e64"
    }
  }
}

根据文档的结构,
ElasticApmTraceId
字段位于
字段
内。您可以使用
字段访问
ElasticApmTraceId
的值。ElasticApmTraceId

将查询修改为

{
  "query": {
    "match": {
      "fields.ElasticApmTraceId": "da58115e800c284b8e2556185c1c8e64"
    }
  }
}

我建议您使用
bool
must
term
进行查询。以下文章将帮助您:


我建议您使用
bool
must
term
进行查询。以下文章将帮助您:


这成功了!谢谢你的帮助和解释!这成功了!谢谢你的帮助和解释!非常感谢。所以每次DSL查询都要使用bool、must和term?你可以阅读我链接中的文章。这些构造函数只是用来构造你的查询条件。请根据实际情况分类:)我很感激:)谢谢!所以每次DSL查询都要使用bool、must和term?你可以在我的链接中阅读文章。这些构造函数只是用来构造你的查询条件。请根据实际情况进行分类:)我很感激:)