19

検索結果を複数ページの結果の日付で並べ替えようとしています。並べ替えは各ページ内で機能していますが、セット全体を並べ替える方法はありますか?

例:ページ1に2月13日から2月1日までのアイテムがある場合。2月1日以降は、2ページ目にアイテムを含めることはできません。

これが私が送信しているリクエストの簡単なスニペットです。また、日付、次に_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 ...
      ]
    }
  }
}

何かご意見は?前もって感謝します!

4

2 に答える 2

20

ページ インデックスにページ上のアイテム数を掛けていませんでした。すべてのページで同じ全体をどのように見逃して、1 か所上に移動したのかわかりません。

これにより、私が扱ってきた他の奇妙な問題がすべて解決されると確信しています。

于 2013-02-15T16:36:03.123 に答える
8

並べ替え、サイズ、fromはルートにある必要があります

    {
       query:{
          ...
       },
       sort:[
         ...
       ],
       from:15,
       size:5
    }

検索API-並べ替え

于 2013-02-15T13:02:15.247 に答える