Solr搜索父元素,嵌套查询,块连接的嵌套所有子元素。

问题描述 投票:1回答:1

我正在努力解决这个问题。如何在Solr版本7.2中搜索父元素的嵌套所有子元素。在单一领域搜索我能够但在所有领域都没有解决方案。我已阅读所有文档,但确切的解决方案不存在可以有人帮我这个吗?

我的查询如下:

 q={!parent which="doc_content_type:parentDocument"}"person"&fl=*, [child 
 parentFilter=doc_content_type:parentDocument limit=1000]

<hmd:emailAddresses>
    <hmd:emailAddress>[email protected]</hmd:emailAddress>
</hmd:emailAddresses>
<hmd:mailstop>88 ui</hmd:mailstop>
<hmd:description>
    <hmd:aboutMe></hmd:aboutMe>
</hmd:description>
<hmd:names>
    <hmd:fullName>Person Username Name</hmd:fullName>
    <hmd:firstAndMiddleName>UserMiddlename UserName</hmd:firstAndMiddleName>
    <hmd:firstName>Name person</hmd:firstName>
    <hmd:middleName/>
    <hmd:lastName>Lastname</hmd:lastName>
    <hmd:alternateNames>
        <hmd:alternateName type="">Some alt name person</hmd:alternateName>
    </hmd:alternateNames>
</hmd:names>
</hmd:person>

此外,我也尝试过其他方式,而不是父母的孩子:

   q={!child of="doc_content_type:parentDocument"}"person"&fl=*, [child 
   parentFilter=doc_content_type:parentDocument limit=1000]

我希望结果是包含子元素的所有“人”,而不仅仅是给定的字段。请注意,我有多个搜索字段~500

xml solr bigdata
1个回答
0
投票

解决方案通常是让Solr将字段中的所有内容复制到一个字段中 - 然后搜索它。您可以使用匹配所有字段的copyField指令执行此操作:

<copyField source="*" dest="all_text" />

然后,您查询all_text而不是其他字段。

© www.soinside.com 2019 - 2024. All rights reserved.