2013-02-13 29 views
7

検索結果を複数のページにわたって日付別に並べ替えようとしています。並べ替えは各ページ内で実行されていますが、セット全体を並べ替える方法はありますか?ElasticSearchページ区切りとソート

例:ページ1に2月13日から2月1日までのアイテムがある場合、 2ページ目は2月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 ... 
     ] 
    } 
    } 
} 

前もって感謝します!

+0

日付は_scoreである必要があります。質問に「奇妙な」結果を含めることを検討してください。なぜ彼らがとても奇妙なのかを説明できる人がいるかもしれません。 – imotov

+0

私が質問で言ったように、私は日付でソートしてみました。私は今日いくつかの結果を出そうとします。 – Jake

+0

申し訳ありませんが、私はあなたの言いたいことをキャッチするほどあなたのコメントを読んでいませんでした。現時点では、_ソートは適切ではなく、私はまだ同じ結果を見ています。 – Jake

答えて

10

でなければなりませんから、私は馬鹿です。

ページのインデックスにページの項目数を掛けていませんでした。私はすべてのページで同じエントリーをどのように逃したのか分かりません。

これは私が扱っている他の奇妙な問題のすべてを解決すると確信しています。

+6

:-)私たちは皆同じような場所にいます。確かに。 –

6

ソート、サイズ、ルート要するに

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

Search API - Sort

+0

hello sir私のhttp://stackoverflow.com/questions/35719728/pagination-in-elasticsearch-laravelで答えることができますか?ページ区切りについても –