次のようなオブジェクトの動的マッピングを作成しようとしています:
{
"product": {
"productId": 99999,
"manufacturerId": "A0001",
"manufacturerCode": "A101LI",
"name": "Test Product",
"description": "Describe the product here.",
"feature_details":{
"category": "Category1",
"brand": "Brand Name"
},
"feature_tpcerts":{
"certifiedPass": true,
"levelCertified": 2
},
"feature_characteristics":{
"amount": 0.73,
"location": 49464
}
}
}
プロパティをネストされたタイプにしたいとfeature_*
思います。これは、下のマッピングでnested_featureテンプレートを使用して定義したもので、期待どおりに機能しています。ただし、プロパティのネストされたオブジェクト内の各プロパティを、追加のプロパティが定義された状態feature_*
にすることも必要です。2 番目の nested_template テンプレートを試しましたが、成功しませんでした。multi_value
facet
{
"product" : {
"_timestamp" : {"enabled" : true, "store": "yes" },
"dynamic_templates": [
{
"nested_feature": {
"match" : "feature_*",
"mapping" : {
"type" : "nested",
"stored": "true"
}
}
},
{
"nested_template": {
"match": "feature_*.*",
"mapping": {
"type": "multi_field",
"fields": {
"{name}": {
"type": "{dynamic_type}",
"index": "analyzed"
},
"facet": {
"type": "{dynamic_type}",
"index": "not_analyzed"
}
}
}
}
}
],
"properties" : {
"productId" : { "type" : "integer", "store" : "yes"},
"manufacturerId" : { "type" : "string", "store" : "yes", "index" : "analyzed"},
"manufacturer" : { "type" : "string", "store" : "yes", "index" : "not_analyzed"},
"manufacturerCode" : { "type" : "string", "store" : "yes"},
"name" : {"type" : "string", "store" : "yes"},
"description": {"type": "string", "index" : "analyzed"}
}
}
}
残念ながら、プロパティ内のfeature_*
プロパティは別のプロセスから作成され、ほとんどすべての名前と値のペアになる可能性があります。動的テンプレートを使用してプロパティをネストされたものとしてセットアップし、ネストされたオブジェクト内の各プロパティをmulti_field
追加のプロパティで作成する方法に関する提案はありfacet
ますか?