2017-05-12 13 views
0

1つのインデックスに異なるアプリケーションのドキュメントがあり、アプリケーション名は各ドキュメントのフィールドです。今では、アプリケーションごとの1日あたりのドキュメント数を数えたいと思います。アプリケーション名は文字列形式であるため、フィルタ用語を使用することはできません。 下記GETクエリがアプリケーションquery_stringと集約を結合します

{ 
    "query": { 
    "filtered": { 
     "query": { 
     "query_string": { 
      "query": "+environmentType:prod +application:app1", 
      "analyze_wildcard": true 
     } 
     } 
    } 
    } 
} 

あたりのフィルタリングを行い、私はシンプルな毎日カウントのため

{ 
    "aggs": { 
    "simpleDatehHistogram": { 
     "date_histogram": { 
     "field": "timestamp", 
     "interval": "day" 
     } 
    } 
    } 
} 

をこの集合を使用することができますが、私はアプリケーションように、それらを結合することはできていないようですフィルタが集計結果に適用されます。

これは私のインデックスのマッピングです。

{ 
    "myIndex" : { 
    "mappings" : { 
     "myType" : { 
     "properties" : { 
      "application" : { 
      "type" : "string" 
      }, 
      "environmentType" : { 
      "type" : "string" 
      }, 
      "event" : { 
      "properties" : { 
       "Id" : { 
       "type" : "long" 
       }, 
       "documentId" : { 
       "type" : "string" 
       }, 
      } 
      }, 
      "hostname" : { 
      "type" : "string" 
      }, 
      "id" : { 
      "type" : "string" 
      }, 
      "timestamp" : { 
      "type" : "date", 
      "format" : "dateOptionalTime" 
      }, 
      "timestampEpoch" : { 
      "type" : "long" 
      }, 
      "type" : { 
      "type" : "string" 
      }, 
      "version" : { 
      "type" : "string" 
      } 
     } 
     } 
    } 
    } 
} 

答えて

0

それらを結合するためにこれを使用します。

{ 
    "size" : 0,   
    "query": { 
    "filtered": { 
    "query": { 
    "query_string": { 
     "query": "+environmentType:prod +application:app1", 
     "analyze_wildcard": true 
     } 
    } 
    } 
    }, 
    "aggs": { 
    "simpleDatehHistogram": { 
    "date_histogram": { 
    "field": "timestamp", 
    "interval": "day" 
     } 
    } 
    } 
} 
+0

これは私が実際に試した最初のものだったが、結果は関係なく、自分のアプリケーションの名前の同じですので、私はフィルタが適用されていないことを推測します。 .. – Acalypha

+0

インデックスのマッピングを投稿することはできますか? 'GET index/type/_mapping' – Richa

+0

私は上記のクエリを試したところ、上記のクエリに基づいて集計バケットを持ってきました。あなたはこれについてもっと詳しく説明できますか? – Richa

関連する問題