我如何获得我的查询以保存前往Elasticsearch的旅行



我有2个查询我要执行:

1)我想获得弗兰克的生日。(该人的名称是文档的ID)。

2)弗兰克的老板是鲍勃。我需要得到以鲍勃为老板的人数(包括弗兰克)。

对于#1我正在做:

GET /myindex/_search
{
  "_source": [
    "birthday"
  ],
  "query": {
    "term": {"_id" : "Frank"}
  }
}

对于#2我正在做:

GET /myindex/_count
{
 "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "boss": "Bob"
          }
        }
      ]
    }
  }
}

获得#1然后立即获得#2似乎是浪费。有没有办法将查询组合到1个查询中?

我的尝试:

GET /myindex/_search
    {
      "_source": [
        "birthday"
      ],
      "query": {
        "term": {"_id" : "Frank"},
        "bool": {
          "filter": [
            {
              "term": {
                "boss": "Bob"
              }
            }
          ]
        }
      }
    }

这显然是错误的,并返回错误:[术语]畸形查询,预期[end_object],但找到[field_name]

,直到您不需要在其他查询内部的第一个查询中结果,您可以使用多搜索API

最新更新