2017-08-28 13 views
3

私は複数のトピック(ブール値)を持っており、それらに対して集計を行いたいと思います。例えば弾性検索 - トピック別集約

topic A -> car AND bike 
topic B -> movies AND entertainment 
topic C -> (X OR Y) AND Z 

私はこのようなブーリアンの大きなリストをトピックの形式で分類しています。各ブール値は、上記の例に示されているよりも複雑です。

いいえ集計を使用してトピックに基づいてカウントを表示するか、各トピックのデータの日ごとの分割を表示する必要があります。例えば

topic A -> X records 
topic B -> Y records 
topic C -> Z records 

今私は、各トピックのカウントを取得するためにelasticsearchに、個々の要求を送信し、その後、最終的な配列に出力を組み合わせています。このプロセスには、関連するHTTPリクエストの数が非常に多くなります。

これを達成するための効率的な方法を教えてください。

注:トピックブール値は変更可能なため、レコードにラベルを割り当てることはできません。

+0

top_hitsを使用することはできませんか?私はかなりESに新しいと私は多分あなたの質問を誤解かもしれないが、あなたの質問がtop_hitsを使用して音が似て何かを行う。 https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-top-hits-aggregation.html – Birdy

答えて

2

検索クエリのリストがあり、目的は各クエリの一致数を取得することだけです。

クエリが1つのみの場合、count APIとなります。

複数のクエリを同時に検索する場合は、「match_all」で検索し、filters Aggregationを使用する必要があります。また、サイズが0のMulti Search APIを使用することもできます。