0

根据链接,父子文档存储为

child1,child2,parent

这是否意味着如果我从 parent1 和 parent2 引用 child1,它将被复制两次,或者它会引用同一个 child1 文档?

Will it be 
child1(COPY1),child2,parent1    ///  child1(COPY2),parent2

OR 
child1(COPY1),parent1 ///// child1(COPY1),parent2
4

1 回答 1

1

在对嵌套文档进行了一些试验后,我得出一个结论,在更新索引时,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

于 2016-01-03T18:35:24.187 回答