根据link,父子文档存储为
child1,child2,parent
这是否意味着如果我从parent1和parent2引用了child1,它将被复制两次还是会引用同一个child1文档?
Will it be
child1(COPY1),child2,parent1 /// child1(COPY2),parent2
OR
child1(COPY1),parent1 ///// child1(COPY1),parent2
答案 0 :(得分:1)
在尝试了一些嵌套文档后,我得出结论,当涉及到更新索引时,solr会将父级及其所有子级视为一个原子文档。该文档由父母的身份标识。没有提到孩子这样的事情。孩子是一个原子文件的一部分。
这意味着当您索引两个嵌套文档时:
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
。