如何在ElasticSearch批量搜索中返回别名

时间:2018-08-21 03:05:15

标签: database elasticsearch lucene elasticsearch-2.0 elasticsearch-dsl

我的弹性版本是2.4.6

我正在使用批量api进行查询以进行弹性搜索,并且想知道如何在结果中返回别名。

目前,这是我的请求正文(带有一些缩写)

{
    "body": [
        {
            "index": "index1_alias,index2_alias"
        },
        {
            "query": {
                "bool": {
                    //some conditions here
                }
            },
            "size": 20
        }
    ],
    "curlOpts": {
        "CURLOPT_CONNECTTIMEOUT": 1,
        "CURLOPT_TIMEOUT_MS": 1500
    }
}

这就是我的回复

{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "failed" : 0
  },
  "hits" : {
    "total" : 3682,
    "max_score" : 1.0,
    "hits" : [ {
      "_index" : "index1_v1",
      "_type" : "dictionary",
      "_id" : "1ae5939d3c4738f3e075a4462d43aa75",
      "_score" : 1.0,
      "_source" : {
        //some data here
      }
    }, {
      "_index" : "index2_v1",
      "_type" : "dictionary",
      "_id" : "1ae5939d3c4738f3e075a4462d43aa75",
      "_score" : 1.0,
      "_source" : {
        //some data here
      }
    }]
}

理想情况下,我希望这部分也返回原始请求中使用的别名

"hits" : [ {
  "_index" : "index1_v1",

所以。我不仅要index1_v1,而且要index1_alias。 这是因为我想知道哪个结果与哪个别名匹配。 目前,我必须向弹性搜索发送另一个请求以获取别名列表,但我希望删除该多余的步骤。

任何帮助将不胜感激。

谢谢。

0 个答案:

没有答案