我一直在逐步使用 Elasticsearch,在研究一个单独的问题时,我遇到了这个问题。在这里,swatkins 询问有关查询嵌套对象的问题,一位响应者指出,鉴于他的模型,嵌套对象不是必需的。我在这里复制了模型,并进行了一些更改以反映我的特定问题:
[{
id:4635,
description:"This is a test description",
author:"John",
author_id:51421,
meta: {
title:"This is a test title for a video",
description:"This is my video description",
url:"/url_of_video"
awesomeness-level: "pretty-awesome"
kung-fu: true
}
},
{
id:4636,
description:"This is a test description 2",
author:"John",
author_id:51421,
meta: {
title:"This is an example title for a video",
description:"This is my video description2",
url:"/url_of_video2"
kung-fu:false
monsters:true
monsters-present: "Dracula, The Mummy"
}
}]
我们的应用程序允许用户定义自定义元数据,因此我们使用嵌套对象来表示该数据。乍一看,它看起来类似于 swatkins 的模型,所以我想也许我们不应该使用嵌套对象。
最大的区别是每个对象的元数据可能不同,请注意第二个视频有专门关于“怪物电影”的元数据,而第一个视频引用了一个“令人敬畏的级别”。那么,我应该使用嵌套对象,还是仅将元数据映射为普通字段?如果我们做后者,第一个视频会有空的元数据字段吗?这真的很重要吗?提前致谢!