Elasticsearch одновременного вида - PullRequest
0 голосов
/ 22 мая 2018

У меня есть несколько индексов es - каждая из таблиц базы данных хранится в отдельной.Каждый из этих индексов имеет различное отображение, хотя они представляют аналогичные данные.И поэтому для дат у меня есть:

  • В index1 - First_date , который является типом даты (2018-05-22).
  • В index2 - First_date целое число (2018)
  • В index3 - justDate - целое число (2017)
  • В index4 - date - string ("Май 2018 ")

Есть ли способ сортировки по всем этим полям одновременно?Я думаю, что ответом может быть сортировка скриптов, однако мне интересно, можно ли это сделать каким-либо другим способом.Если нет, то, по крайней мере, то же самое можно сделать для полей с одинаковым типом поля.

1 Ответ

0 голосов
/ 22 мая 2018

Это могло бы выглядеть так:

POST index1,index2,index3,index4/_search
{
  "sort": [
    {"First_date": {"order": "desc"}},
    {"justDate": {"order": "desc"}},
    {"date": {"order": "desc"}}
  ]
}

Но я предполагаю, что вы хотите отсортировать по всем полям в порядке дат, который этот запрос не даст вам.

Решениеэта задача со скриптом принесет ненужные вычисления по времени запроса.

Я бы предложил вам создать поле формата даты в каждом индексе и заполнить его по времени индекса.В этом случае запрос выше будет работать как есть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...