Как вернуть псевдоним в ElasticSearch массовом поиске

Моя упругая версия 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 ответов

Другие вопросы по тегам