Hi all, 

Following the example from  https://dzone.com/articles/using-solr-49-new , 
let's say we are given multiple-level nested structure: 

<doc>
        <field name="id">1</field>
        <field name="name">I am the parent</field>
        <field name="cat">PARENT</field>
        <doc>
                <field name="id">1.1</field>
                <field name="name">I am the 1st child</field>
                <field name="cat">CHILD</field>
        </doc>
        <doc>
                <field name="id">1.2</field>
                <field name="name">I am the 2nd child</field>
                <field name="cat">CHILD</field>
                <doc>
                        <field name="id">1.2.1</field>
                        <field name="name">I am a grandchildren</field>
                        <field name="cat">GRANDCHILD</field>
                </doc>
        </doc>
</doc>


Querying 
q={!parent which="cat:PARENT"}name:(I am +child)&fl=id,name,[child 
parentFilter=cat:PARENT]

will return flattened structure, where cat:CHILD and cat:GRANDCHILD documents 
end up on the same level:
<doc>
        <field name="id">1</field>
        <field name="name">I am the parent</field>
        <field name="cat">PARENT</field>
        <doc>
                <field name="id">1.1</field>
                <field name="name">I am the 1st child</field>
                <field name="cat">CHILD</field>
        </doc>
        <doc>
                <field name="id">1.2</field>
                <field name="name">I am the 2nd child</field>
                <field name="cat">CHILD</field>
        </doc>
        <doc>
                <field name="id">1.2.1</field>
                <field name="name">I am a grandchildren</field>
                <field name="cat">GRANDCHILD</field>
        </doc>  
</doc> Indeed, the JAVAdocs for ChildDocTransformerFactory say: "This 
transformer returns all descendants of each parent document in a flat list 
nested inside the parent document". 

Yet is there any way to preserve the hierarchy in the response? I really need 
to find the way to preserve the structure in the response.  

Thank you in advance! 

-- 
Alisa Zhila

Reply via email to