Hello,
I have a situation where I want to understand the best way to model this
data in ES. I have the following data
Object -> Has Many -> Properties
where a
Property -> is a -> Name (String), and a Value( one of -> Boolean,
Integer, Double, String, Long)
and the Object is the container of the properties via the "the-properties"
field below. It also has a simple name field "the-name" as a general object
identifier.
So essentially I have an object that has many properties where each
property can have a name, and a value but the value can be one of many
types as noted above. So this is a bit dynamic in nature as it relates to
the properties value "type".
One way to establish a mapping is as follows, but it seems a bit hacky. Is
there a better way?
curl -XPUT 'http://localhost:9200/bo-objects/_mapping/bo' -d '{
"bo": {
"properties": {
"the-name" : {
"type" : "string",
"store" : true
},
"the-properties": {
"type" : "nested",
"properties" : {
"name" : {
"type" : "string",
"store" : true
},
"value" : {
"type" : "object",
"properties" : {
"as_double" : { "type": "double", "store": true} ,
"as_int" : { "type": "integer", "store": true} ,
"as_string" : { "type": "string", "store": true} ,
"as_bool" : { "type": "boolean", "store": true}
}
}
}
}
}
}
}'
which results in an ES data structure like this..
- "_source": {
- "name": "My Object",
- "properties": [
- {
- "name": "foo",
- "value": {
- "as_double": 23.56
}
},
- "as_double": 23.56
- {
- "name": "bar",
- "value": {
- "as_bool": false
}
},
- "as_bool": false
- {
- "name": "bla",
- "value": {
- "as_double": 22.56
}
},
- "as_double": 22.56
- {
- "name": "junk",
- "value": {
- "as_double": 8.56
}
},
- "as_double": 8.56
- {
- "name": "fee",
- "value": {
- "as_string": "D6677"
}
}
]
}
- "as_string": "D6677"
- {
}
Thanks
--
Please update your bookmarks! We have moved to https://discuss.elastic.co/
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/6fdbfe26-4032-4664-91ce-582a0d832bf4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.