2016-07-18 9 views
0

私が構築しているインデックスのフィールドは、定期的に追加されます。私は現在のアイテムの数を数えるためにelasticsearchを問い合わせることができるようにしたいと思います。配列フィールドの長さを問い合わせることは可能ですか?フィールドを取り戻してアイテムを数えるために何かを書くことができますが、その中には多数のエントリがあり、ESで実行されるものを探しています。ElasticSearchの配列フィールドの長さを取得します。

+0

これはどのフィールドですか? (文字列、数値、日付、分析、not_analyzed) –

答えて

0

私はこれを推奨します。 _uidを介して条件集計を実行します。次に、配列フィールドのすべてのフィールドについて別の集計を実行し、doc_countsを合計します。

しかし、このような操作は本当に必要なレコードの数に依存しますが、これは高価な操作になる可能性があります。

もう一つの選択肢は、配列要素の数を別のフィールドとして格納し、それを直接照会し、文書に大きな配列を既に格納していることを考慮して、サイズの整数フィールドをフェアトレード-オフ。あなたがレコードをフィルタリングするためにカウントが必要な場合は、説明したようにスクリプトフィルタを使用することをお勧めします。here

関連する問題