我在弹性搜索中有一个名为track
的索引,它的映射是这样的
"track" : {
"mappings" : {
"properties" : {
"attributes" : {
"type" : "nested",
"properties" : {
"name" : {
"type" : "keyword"
},
"value" : {
"type" : "keyword"
}
}
}
}
}
}
以上映射的有效记录为
"attributes" : [
{
"name" : "attr1",
"value" : "val1"
},
{
"name" : "attr2",
"value" : "val2"
}
]
我希望上述映射也以某种方式支持以下记录。
"attributes" : [
{
"name" : "attr3",
"value" : "val3"
},
{
"name" : "attr4",
"value" : {
"owner": {
"username": "user1",
"group": "group1"
}
}
}
]
我知道我已经用类型keyword
定义了我的value字段,它不支持对象,但是必须有某种方法可以做到这一点,对吗?我到处都在寻找,唯一可以找到的相关内容是this。但是这里的类型非常简单,分别为double
和date
,在我的情况下,我希望类型为keyword
和object
。
我只想为其值可以是文本或对象的字段创建一个映射。我正在使用Logstash和Kibana的Elastic search v7.1.0。这有可能吗?如果是,那怎么办?