2017-03-01 9 views
0

私は10の結果しか返さないネストされた集計を持っています。私はそれが1000の結果を返すようにします。しかし、私はどこにサイズを指定するか分からない。私のクエリは、私がするために、「サイズ」フィールドを置けばいい弾性検索ネストされた集計サイズ

{ 
    "query": "<some query>", 
    "aggs": { 
     "series": { 
      "nested": { "path": "metadata" }, 
      "aggs": { 
       "val": { 
        "terms": { "field": "metadata.val" }, 
        "aggs": { 
         "type": { 
          "terms": { "field": "metadata.name" } 
         } 
        } 
       } 
      } 
     } 
    } 
} 

のようになります

 mappings: 
     datainfo: 
      properties: 
      filterValues: 
       type: string 
      metadata: 
       properties: 
       isPrimary: 
        type: boolean 
       name: 
        index: not_analyzed 
        type: string 
       source: 
        enabled: false 
        type: object 
       type: 
        index: not_analyzed 
        type: string 
       val: 
        index: not_analyzed 
        type: string 
       type: nested 
      source: 
       enabled: false 
       type: object 
      title: 
       type: string 

(そのYAMLでなく、JSONに加工され、そのことについて心配いけない)のような私のマッピングが見えますこれはXの結果を返しますか?これは、現在唯一のクエリの結果の数を指定するには10

+0

メインクエリの結果の数を指定するか、集計ヒットからデータをグループ化し、バケットあたりの結果の数を指定しますか?合計サイズの場合は、ここをクリックしてください:https://www.elastic.co/guide/en/elasticsearch/reference/5.1/search-request-from-size.html –

答えて

0

を返し、あなたは(あなたがTop Hits Aggregationを使用することができ、集計バケットに結果の数を指定するにはsize, or size with range:

{ 
"query": "<some query>", 
"size": 1000, 
"aggs": { 
    "series": { 
     "nested": { "path": "metadata" }, 
     "aggs": { 
      "val": { 
       "terms": { "field": "metadata.val" }, 
       "aggs": { 
        "type": { 
         "terms": { "field": "metadata.name" } 
        } 
       } 
      } 
     } 
    } 
} 

}

を使用することができますリンクからの例):

{ 
    "aggs": { 
    "top-tags": { 
     "terms": { 
      "field": "tags", 
      "size": 3 
     }, 
     "aggs": { 
      "top_tag_hits": { 
       "top_hits": { 
        "sort": [ 
         { 
          "last_activity_date": { 
           "order": "desc" 
          } 
         } 
        ], 
        "_source": { 
         "includes": [ 
          "title" 
         ] 
        }, 
        "size" : 100 
       } 
      } 
     } 
    } 
    } 
} 

集計された結果のみが必要な場合の推奨アプローチの1つは、最初のフェッチを排除し結果的に優れた結果を出すクエリ結果のサイズは0です。

関連する問題