Удалить по запросу с сортировкой в ​​Elasticsearch - PullRequest
0 голосов
/ 26 сентября 2019

Я хочу удалить самый последний элемент в моем индексе Elasticsearch, отсортированный по myDateField, который является типом даты.Это возможно?Я хочу что-то вроде этого запроса, но это приведет к удалению всех соответствующих элементов, даже если у меня есть размер 1.

{
    "query" : {
        "match_all" : {

        }
    },
    "size" : "1",
    "sort" : [
        {
            "myDateField" : {
                "order" : "desc"
            }
        }
    ]
}

1 Ответ

2 голосов
/ 26 сентября 2019

Удаление по запросу вряд ли будет поддерживать какие-либо функции sorting.

Если вы попытаетесь удалить по запросу - однако вы получите ошибку: запрос не поддерживает [сортировку].Я не смог найти никакой документации, в которой говорилось, что параметр "sort" не поддерживается при удалении по запросу.

У меня есть идея сделать это, но не знаете, что это лучший способ или нет?

Шаг 1: Выполните обычный запрос на основе ваших условий + сортировка и получите эти идентификаторы.

Шаг 2: Создайте массовый запрос, чтобы удалить все документы, полученные выше, по идентификатору, полученному на шаге 1.

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