我从Jaeger ElasticSearc查询返回以下条目

    "_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
              }
            }
          }
        }
      ]
    }
  }
}

关于elasticsearch - 在Jaeger ElasticSearch中搜索,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63198673/

10-10 14:35