2017-10-13 26 views
0

私はElastic Searchを初めて使用しており、マイドキュメントのメトリック集計を使用してクエリを作成しようとしています。しかし、私は、フィールドを追加する場合:私の合計メトリックの集計のために= 1 min_doc_countを、私はエラーを取得: `ElasticSearch:メトリック集約でmin_doc_countがサポートされています

{ 
    "error": { 
     "root_cause": [ 
     { 
      "type": "illegal_argument_exception", 
      "reason": "[sum] unknown field [min_doc_count], parser not found" 
     } 
     ], 
     "type": "illegal_argument_exception", 
     "reason": "[sum] unknown field [min_doc_count], parser not found" 
    }, 
    "status": 400 
} 

`

私はここで何をしないのですか?

`

{ 
    "aggregations" : { 
     "myKey" : { 
      "sum" : { 
       "field" : "field1", 
       "min_doc_count": 1 
      } 
     } 
    } 
} 

`

答えて

1

/あなたがsumキーワードを持っているところ私はなぜわかりませんか?

アイデアmin_doc_countは、特定のaggsクエリによって返されるバケットが少なくともN個のドキュメントを含むことを確認することです。以下の例では、10個以上のドキュメントに表示されるサブジェクトのサブジェクトバケットのみを返します。

GET _search 
    { 
     "aggs" : { 
      "docs_per_subject" : { 
       "terms" : { 
        "field" : "subject", 
        "min_doc_count": 10 
       } 
      } 
     } 
    } 

だから、このことを念頭に置いて、あなたは次のようにリファクタリングします... 1からmin_doc_countを設定するとき、それは全くのパラメータを維持するために本当に必要ではないですが。あなたは、クエリのセクションで、これらのゼロ値を除外することができ、フィールドの唯一の非ゼロの値を合計したい場合

GET _search 
    { 
     "aggs" : { 
      "docs_per_subject" : { 
       "terms" : { 
        "field" : "field1", 
        "min_doc_count": 1 
       } 
      } 
     } 
    } 
+0

Range Term私が何を考えてIメトリック集計を設定するのではなく、バケット集計シナリオでmin_doc_countを使用する方が意味があります。私には意味があるのに対して、これをやろうとしている基本的な理由は、NoRecordsHitのSum集計のNULL値をZeroではなく、私にもtotalHitsCountも見ない限り多くのことを教えてくれないということです。 –

+0

@MilindJindal 'field'の非ゼロ値だけを合計したい場合、それらのゼロ値をクエリセクションでフィルタリングすることができます。下の私の答えを見てください。 – Eli

+0

@greggers:私の実際のユースケースは、集計クエリからヌル値を戻すことです。ドックヒットがない場合です。私はゼロ値をスキップしたくありません。 –

0

{ 
    "size": 0, 
    "query": { 
    "bool": { 
     "must": [ 
     { 
      "range": { 
      "field": { 
       "gt": 0 
      } 
      } 
     } 
     ] 
    } 
    }, 
    "aggregations": { 
    "myKey": { 
     "sum": { 
     "field": "field1" 
     } 
    } 
    } 
} 

を参照してくださいBool Query

関連する問題