2016-04-30 22 views
2

結合したい2弾性検索クエリ。私のクエリは別々にソートされているので、/および/と、これらのメソッドを使ってクエリを実行することはできません。
私はニュースの書類を持って、私は結果含むを持つようにしたい:
- 日付
によってソート未読ニュース(偽=読み取り) - ニュースを読む(真=読み込み)日付順
未読のニュースMUSは、最初にあることと、私は20ページのページサイズのニュースを入手したいので、3ページの未読のニュース、1ページの閲覧+未読のニュース、そして5ページのニュースを読むことができます。
このクエリはどのように作成できますか?弾性検索連合クエリ

答えて

1

複数の検索APIを使用して、1回の検索リクエストでさまざまなクエリを実行します。

_msearch 

結果を受け取った後、ユーザー定義アルゴリズムを使用して結果セットを構築します。

+0

は、クエリで私を助けるために、それは可能ですか?あなたの返事に感謝しますが、msearch –

1

あなたはソートのために必要なすべてのフィールドが同じ型内にある場合には、いくつかの並べ替えの基準を使用することができます。

POST index/article/_search 
{ 
    "size": 20, 
    "sort": [ 
    { 
     "read": { 
     "order": "asc" 
     } 
    }, 
    { 
     "date": { 
     "order": "desc" 
     } 
    } 
    ] 
} 
+0

のおかげでそれをやる方法を理解するのは難しいですが、あなたは私の意味を理解していないと思います。あなただけのクエリをソート!私は異なる基準でソートされたクエリを実行し、結果は順次になります。 –