在 Jaeger ElasticSearch 中搜索

Search in Jaeger ElasticSearch

我从Jaeger ElasticSearc查询returns下面的条目

    "_index" : "jaeger-span-2020-07-31",
    "_type" : "span",
    "_source" : {
      "startTime" : 1596157225275112,
      "startTimeMillis" : 1596157225275,
      "duration" : 0,
      "tags" : [
        {
          "key" : "span.kind",
          "type" : "string",
          "value" : "server"
        },
        {
          "key" : "internal.span.format",
          "type" : "string",
          "value" : "zipkin"
        }
      ],
      "process" : {
        "serviceName" : "transaction-manager",
      }
    }
  }

我的目标是找到带有标签["internal.span"] "zipkin" 的条目。字段“标签”是“嵌套的”。我正在尝试如下所示的查询。我没有命中。我想念什么?

{
  "from": 0,
  "size": 1,
  "query": { 
          "bool": {
              "must": [ 
                  {"match": { "process.serviceName": "transaction-manager" }},
                  {
                          "nested": {
                              "path": "tags",
                              "query": {
                                  "match": {
                                      "value": "zipkin"
                                  }
                              }
                          }
                  }
              ]
          }
      }
}

您只需要在匹配查询中使用 tags.value 而不是 value

以下查询应该有所帮助:

POST <your_index_name>/_search
{
  "from": 0,
  "size": 1,
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "process.serviceName": "transaction-manager"
          }
        },
        {
          "nested": {
            "path": "tags",
            "query": {
              "match": {
                "tags.value": "zipkin"        <---- Note this
              }
            }
          }
        }
      ]
    }
  }
}