Подтвердить что ты не робот

Эластичный поиск и сортировка

Я пытаюсь сортировать результаты поиска по дате на нескольких страницах результатов. Сортировка работает на каждой странице, есть ли способ сортировки по всему набору?

Например: если страница 1 имеет элементы с 13 февраля по 1 февраля; на второй странице не должно быть элементов после 1 февраля.

Вот краткий фрагмент запроса, который я отправляю. Я также попробовал сортировку по дате, затем _score, но это привело к еще более странным результатам (в первую очередь, порядок сортировки был таким же).

{
  "query": {
    "from": 0,
    "size": 24
    "sort": [
      "published_on": {
        "missing": "_last",
        "ignore_unmapped": true,
        "order": "desc"
      }
    ]
    "custom_filters_score": {
      "query": {
        "bool": {
          "must": [
            {
              "match": {
                "content": "Some query"
              }
            }
          ]
          ... more ...
        }
      },
      "filters": [
        {
          "filter" => {
            "type" => {
              "value" => "cats"
            }
          },
          "boost" => 2
        }
        ... more ...
      ]
    }
  }
}

Любые мысли? Спасибо заранее!

4b9b3361

Ответ 1

Я не умножал индекс страницы на количество элементов на странице. Я не уверен, как я пропустил одно и то же на каждой странице, перемещаясь вверх на одно место.

Я уверен, что это решит все другие странные проблемы, с которыми я сталкивался.