我有一个名为' Category'这种结构:
{
"CategoryID" : 1,
"ParentID" : 0,
"Name" : "Sample Cat"
}
另一个将使用此类别的集合
{
"DocumentID" : 1,
"CategoryID" : 1,
"DocumentName" : "Doc XPXSAX"
}
这个设计的问题在于,我什么时候不能使用它来进行实时搜索,这会将文档显示为
Sample Cat "中的Doc XPXSAX(以及不使用连接的类别名称)
此外,我无法将文档嵌入Category
集合中(作为其中一个字段中的数组),因为我预计文档的数量将达到50k。
什么替代架构设计可以让我在不使用模仿连接的黑客的情况下整合高效的搜索功能?
感谢。
答案 0 :(得分:0)
如果您不喜欢应用程序级别的联接,为什么不将这些类别嵌入到文档文档中?
{
"DocumentID" : 1,
"category" : {
"ID" : 1,
"Name" : "Sample Cat",
"ParentID" : 0
},
"DocumentName" : "Doc XPXSAX"
}
保留您在文档文档中显示所需的类别信息。您需要的信息很少可以存在于类别文档中,可以通过第二个查询或应用程序级联接找到。