1
商品のドキュメントがあります。製品は次のようになります。条件を満たすセット(別個の値のリスト)
{
"_index": "1",
"_type": "product",
"_id": "1",
"_source": {
"group": "g1"
"exist": true
}
}
私は(すべての製品の)グループのリストを取得しようとしている - しかし、これらのみどのように"exist" == true
(少なくとも1つの既存の製品を持つグループ)
は私がしまし満たします試してみました:
(も冗長であり、CALCに余分な時間を要する可能性がある)自分のカウントでグループのリストを返すが、私は"exist"=true
の条件/クエリを追加しようとしています
{
"size": 0,
"aggs" : {
"_source" : {
"terms" : {
"field" : "group"
}
}
}
}
。
- どうすれば実現できますか?
- 本当に集計が必要ですか? (より効率的な方法は何ですか?)
注:true
ショーアップを存在すると私はグループのみを確実にする観点から集約へFiltered aggregationの追加弾性検索1.4
- 冗長な作業です。私は何千もの文書を持っていて、時間がかかりました。カウントダウンしない方法があるのだろうか(私は 'カーディナリティ'を見つけましたが、それを表示せずに別のグループの数を返します) – ItayB
私の推測は、インデックス作成時に計算されます。パフォーマンスを向上させるために、 "グループ"フィールドが "分析"されていないことを確認してください。 – keety
まだパフォーマンスに問題がある場合は、フィールドデータをペルロードするか、 "グループ"フィールドに明確な用語がない場合は、フィールドデータをプリロードするこの文書には便利なヒントがあります – keety