我想在索尔儿童文件中找到。我正在使用SolrJ索引文档,我使用方法addChildDocument
。
在我的数据结构中,我会有一个父对象,如父对象和子对象,我在开始时想到使用多值字段,问题是如果我使用多值,我会失去值X属于childX和值Y属于childY。
当我使用方法addChildDocument
并查询Solr时,似乎它们并没有真正链接,实例中有完整的隔离文档。
由于历史原因“书籍”和“作家”,我想存放在同一个集合中,他们会这样说:
{...,
bookName : aaaa,
pages : 222,
...
authors: [
{ author : bbbb,
age : 33,
...
},
{ author : ....
}
]
}
我知道在Solr中不可能这样做,但我不知道如何在Solr中建模这个结构,或者我应该用另一种方式来做。
答案 0 :(得分:1)
使用addChildDocument的方式是添加子文档的正确方法。最后,solr保持关系,你需要有一个字段,可以识别父母和孩子之间的差异。 您能详细说明您的识别方式吗?似乎它们并没有真正联系起来,实例中有完整的隔离文件"。
您的索引部分是正确的。索引后,您应该(1 + n)个文档(父级+ n个子级)。您搜索的方式是通过块连接查询。 This将帮助您查询子级中字段值的父级,反之亦然。