我使用ElasticSearch作为数据存储,我想知道如何构造我的数据。来自MySQL我的天生本能是将所有东西都分成不同的类型(“表格”),但我不确定是否有任何东西可以从中获得。ElasticSearch:嵌套数组与单独类型
例如,我有一篇有评论的文章,我想跟踪评论中点击“喜欢”的用户。我是否应该简单地将用户标识数组保存在文章评论内的嵌套数组中,还是应该将注释移出单独的comment
类型?那么喜欢评论的用户阵列又应该是一个单独的类型呢?
{
"article": {
"properties": {
...
"comments": {
"properties": {
...
"likes": { "type": "string" } // array of UUIDs
}
}
}
从效率的角度来看嵌套数组嵌套数组有问题吗?使用ElasticSearch作为数据存储时,使用嵌套的数组/对象还是单独的类型更好?
根据我的经验,嵌套/去规范化结构在ElasticSearch中更容易处理,即文章类型中的UUID数组。 – Sangharsh