不幸的是,Amazon CloudSearch does not support nested JSON,意味着下面的文档结构无效。
[{
"type": "add",
"id": 1,
"fields": {
"company_name": "My Company",
"services": [
{
"id": 123,
"name": "Construction",
"logo": "logo1.png"
},
{
"id": 456,
"name": "Programming",
"logo": "logo2.png"
}
]
}
}]
基本上我无法在services
键下嵌套对象数组。在这种特殊情况下,只有嵌套的name
字段必须是可搜索的,所以我可以做的是:
[{
"type": "add",
"id": 1,
"fields": {
"company_name": "My Company",
"services": [ "Construction", "Programming" ]
}
}]
以上JSON有效,我仍然可以搜索服务名称。但是,现在我丢失了一些关于我在显示搜索结果时需要的服务的元数据。有没有什么方法可以将元数据添加到Amazon CloudSearch中的文档中,并将其与搜索结果一起返回,以便在显示结果时可以使用它?
或者我是否必须从我的数据库中获取此额外元数据,以使用显示结果所需的其他数据填充搜索结果?这似乎不可行,因为它比我从CloudSearch直接获取这些数据要复杂得多。这也会影响搜索的性能,即使我可以使用缓存 - 但如果可能的话,我有点想避免这种情况,因为我现在还不需要它。
所以我的问题是:
提前谢谢!