1

Elasticsearch のファセット機能を使用して、検索クエリ結果データに基づいて、指定されたフィールドの値の集計値を取得する方法を認識しています。

ログを監視し、elasticsearch を使用してログ エントリを検索するアプリケーションがあります。UI フロントでは、ページング メカニズムが用意されているため、検索の非同期機能を使用して一度に「n」個のエントリをフェッチします。

したがって、私の質問は、非同期検索クエリを変更して特定のフィールドのファセット情報を取得すると、非同期クエリの結果として取得される結果のサブセットの集計値が得られるかどうかです。または、検索結果全体の集計値を取得します (ユーザーに返されるサブセットではありません)。

どうもありがとう、コマル

4

2 に答える 2

1

検索結果全体に対してファセットが返されます。リクエストで size を 0 に設定することもできます。これにより、結果がフェッチされず、すべてのファセットが取得されます。

于 2012-06-18T11:31:26.617 に答える
1

詳細なドキュメントについては、こちらを参照してください。match all クエリを指定して、すべてのドキュメントのファセットを取得できます{ "query" : { "match_all" : { } }, "facets" : { "tag" : { "terms" : { "field" : "tag", "size" : 10 } } } } 詳細については、コードの要点を投稿してください。

于 2012-06-23T06:39:22.347 に答える