ElasticSearchで生のネストされた集約を作成したいと思いますが、それを機能させることができます。私が何をしたいか未処理のネストされた集約
{
"_index": "items",
"_type": "frame_spec",
"_id": "19770602001",
"_score": 1,
"_source": {
"item_type_name": "frame_spec",
"status": "published",
"creation_date": "2016-02-18T11:19:15Z",
"last_change_date": "2016-02-18T11:19:15Z",
"publishing_date": "2016-02-18T11:19:15Z",
"attributes": [
{
"brand": "Sun"
},
{
"model": "Sunglasses1"
},
{
"eyesize": "56"
},
{
"opc": "19770602001"
},
{
"madein": "UNITED KINGDOM"
}
]
}
}
属性のいずれかに基づいて集約することである。
マイドキュメントは、次のようになり。私はいくつかのスペースが含まれているため、 "attributes.model"(たとえば)で通常の集計を行うことはできません。だから、私は "未加工"のプロパティを使用しようとしましたが、ESはそれを通常のプロパティとみなし、結果を返しません。
これは私が試したものです:
{
"size": 0,
"aggs": {
"brand": {
"terms": {
"field": "attributes.brand.raw"
}
}
}
}
しかし、私は何の結果を持っていません。
この問題を解決する方法はありますか?
あなたはその 'raw'フィールドを含めるためにマッピングを変更する必要があります。あなたの現在のマッピングは何ですか?つまり、 'curl -XGET localhost:9200/items'を実行するとどうなりますか? – Val
こんにちは、お返事ありがとうございます。現在のマッピングは次のとおりです:http://pastebin.com/tcebxJaL問題はそれらのフィールドが固定されていないということです – theofabry
これらの属性の中で用語集を実行できるようにしたいのはどれですか?それらのすべてまたはわずかなものだけ? – Val