根据链接,父子文档存储为
child1,child2,parent
这是否意味着如果我从 parent1 和 parent2 引用 child1,它将被复制两次,或者它会引用同一个 child1 文档?
Will it be
child1(COPY1),child2,parent1 /// child1(COPY2),parent2
OR
child1(COPY1),parent1 ///// child1(COPY1),parent2
在对嵌套文档进行了一些试验后,我得出一个结论,在更新索引时,solr 将父级及其所有子级视为一个原子文档。该文档由父母的 ID 标识。没有提到孩子这样的事情。Child 是一个 atomic 文档的一部分。
这意味着当您索引两个嵌套文档时:
curl http://localhost:8983/solr/demo/update?commitWithin=3000 -d '
[{
id : parent1,
_childDocuments_ : [
{ id: child1},
{ id: child2}
]
}, {
id : parent2,
_childDocuments_ : [
{ id: child1}
]
}]'
你最终会得到以下索引
child1,child2,parent1,child1,parent2
更新索引parent2-child1
不会影响parent1-child1
。