私はこのような調査データを格納しています:Elasticsearch:調査データから分布表を生成
[
{
"userid":1,
"answers":[
{
"key":"gender",
"value":"male"
},
{
"key":"color",
"value":"red"
},
{
"key":"vehicle",
"value":"car"
}
]
},
{
"userid":2,
"answers":[
{
"key":"gender",
"value":"female"
},
{
"key":"color",
"value":"blue"
},
{
"key":"vehicle",
"value":"bike"
}
]
},
......
]
マッピングは同様である。別の質問の多くが付いているユーザーの多くを意味
"users" : {
"properties" : {
"userid" : {
"type" : "long"
},
"answers" : {
"type" : "nested",
"properties" : {
"key" : {
"type" : "string",
"index" : "not_analyzed"
},
"value" : {
"type" : "string",
"index" : "not_analyzed"
}
}
}
}
}
。どのような質問があったかについて柔軟に対応しなければならないので、私はキー/バリュースタイルを選択しました。
私はジェンダーと色に関する分布表を私に与えるクエリを探したいと思います。 意味:性別を軸に、色を軸として、これらのフィールドにすべての可能な用語を表示する2次元表。 私は色の赤のような女性の数や青のような男性の数について素敵な概要を知りたいです。
ネストされたフィルタリングされた条件の集計で多くを試しましたが、まだ成功しませんでした。集計クエリを構築する方法について
任意のヒントは...
あなたはこれらのユーザーの回答を格納するためにあなたが持っているマッピングを共有することができていることを確認してください? – eemp
マッピングを含む投稿を更新しました... – shizzler
質問を投稿しているので、この構造が柔軟性がないと仮定して正しいですか? '{" userid ":1、" color ":" red "、" gender ":" male "}'のようなレコードを格納することは、あなたが切り替えることができないことですか?それは集約と応答をはるかに良くするでしょう。 – eemp