1

数千 (または数十万) のnestedコメントを含むブログ投稿があり、上位 10 件のブログ投稿だけを取得したい場合。取得するブログ投稿の数を制御するために使用しますが、必要なコメントsizeのサイズを制限する方法がわかりません。nested

例: 無制限のコメントを含む上位 10 件のブログ投稿が返されます

GET myblog/_search
{
   "size": 10,
   "query": {
      "match_all": {}
   }
}

試してみinner_hitsますが、うまくいきません。私が使用したとき、ネストされたコメントでクエリを実行する必要があり、ソースも無効にしました (すべてのコメントを含む投稿を取得しないようにするため)。この場合、それは同じ親投稿です。アプローチも考えましparent-childたが、これは複数のリクエスト/クエリを作成することを意味します。

クエリでネストされたコレクションのサイズを制限する方法を知っていますか?

私が探しているのは、上位 5 件のコメントで上位 10 件のブログ投稿を取得するようなクエリを作成することです。

4

1 に答える 1

0

このクエリを試すことができますか:

{
    "_source": false,
    "fields":["your_fields"],
   "size": 10,
   "query": {
      "match_all": {}
   },
   "inner_hits" : {
        "comments" : {
            "path" : { 
                "comments" : { 
                    "size":5,
                    "query" : {
                        "match_all": {}
                    }
                }
            }
        }
    }
}
于 2016-09-23T00:13:27.110 に答える