对于使用SOLR 5.5.1和SOLR 6.1.0的SOLR对象的多级嵌套,我观察到非常奇怪的行为(如果重要的话,SOLR Cloud是特定的)。
我认为这是一个SOLR错误。但是,我对嵌套对象的体验是有限的,因此,我非常感谢来自更有经验的人的任何评论。重现问题的步骤:
./bin/solr start -e cloud -noprompt
./bin/solr create_collection -c qa -shards 2 -p 8983
<doc>
<field name="id">CONTAINER_1</field>
<field name="title">CONTAINER</field>
<doc>
<field name="id">CONTAINER_1_ITEM</field>
<field name="title">META</field>
</doc>
<doc>
<field name="id">CONTAINER_1_PERSON</field>
<field name="title">META</field>
</doc>
<doc>
<field name="id">DOC_1</field>
<field name="title">DOCUMENT</field>
<doc>
<field name="id">DOC_1_ITEM</field>
<field name="title">META</field>
</doc>
<doc>
<field name="id">DOC_1_PERSON</field>
<field name="title">META</field>
</doc>
</doc>
<doc>
<field name="id">DOC_2</field>
<field name="title">DOCUMENT</field>
<doc>
<field name="id">DOC_2_ITEM</field>
<field name="title">META</field>
</doc>
<doc>
<field name="id">DOC_2_PERSON</field>
<field name="title">META</field>
</doc>
</doc>
</doc>
{!child of=title:DOCUMENT}id:DOC_2
一切都按预期工作,响应中有2个文档:
[
{
"id":"DOC_2_ITEM",
"title":["META"]},
{
"id":"DOC_2_PERSON",
"title":["META"]}
]
{!child of=title:DOCUMENT}id:DOC_1
使用4个文档而不是2个文档查看奇怪的回复:
[
{
"id":"CONTAINER_1_ITEM",
"title":["META"]},
{
"id":"CONTAINER_1_PERSON",
"title":["META"]},
{
"id":"DOC_1_ITEM",
"title":["META"]},
{
"id":"DOC_1_PERSON",
"title":["META"]}
]
关于什么是错的任何想法?关于可能的解决方法的任何想法?
答案 0 :(得分:1)
因为它已经说there试图联合所有封闭的父母的面具,例如
<强> UPD 强>
{!child of='title:(DOCUMENT CONTAINER)'}id:DOC_1
好的。这个不同的层次应该是有区别的。只有将CONAINER_1- * docs标记为META_1
时,它才有效