Solr - 块连接具有许多子约束的父查询
Solr - Block join Parent query with many Children constraints
该问题适用于以下嵌套文档:
<doc>
<field name="id">1</field>
<field name="title">Solr has block join support</field>
<field name="content_type">parentDocument</field>
<doc>
<field name="id">11</field>
<field name="type">comment</field>
<field name="comments">SolrCloud supports it too!</field>
</doc>
<doc>
<field name="id">12</field>
<field name="type">publisher</field>
<field name="address">England</field>
....
</doc>
</doc>
....
我的问题是,如何编写允许对多个嵌套子文档进行约束的 Block Join Parent Query?我确实尝试了以下方法,但没有用:
{!parent which="content_type:accommodation"}
(
(+type:comment +comments:SolrCloud) AND
(+type:publisher +address:England)
)
0 作为结果返回!
对于您的用例,您可以只使用多个块连接过滤器:
q=*:*&
fq={!parent which="content_type:accommodation"}(+type:comment +comments:SolrCloud)&
fq={!parent which="content_type:accommodation"}(+type:publisher +address:England)
第一个过滤器 clouse 将查找哪些父文档具有满足条件 (+type:comment +comments:SolrCloud)
.
的子文档
第二个过滤器子句将对满足第一个过滤器的父文档子集进行操作。它将在这个子集中找到满足条件 (+type:publisher +address:England)
.
的父文档
该问题适用于以下嵌套文档:
<doc>
<field name="id">1</field>
<field name="title">Solr has block join support</field>
<field name="content_type">parentDocument</field>
<doc>
<field name="id">11</field>
<field name="type">comment</field>
<field name="comments">SolrCloud supports it too!</field>
</doc>
<doc>
<field name="id">12</field>
<field name="type">publisher</field>
<field name="address">England</field>
....
</doc>
</doc>
....
我的问题是,如何编写允许对多个嵌套子文档进行约束的 Block Join Parent Query?我确实尝试了以下方法,但没有用:
{!parent which="content_type:accommodation"}
(
(+type:comment +comments:SolrCloud) AND
(+type:publisher +address:England)
)
0 作为结果返回!
对于您的用例,您可以只使用多个块连接过滤器:
q=*:*&
fq={!parent which="content_type:accommodation"}(+type:comment +comments:SolrCloud)&
fq={!parent which="content_type:accommodation"}(+type:publisher +address:England)
第一个过滤器 clouse 将查找哪些父文档具有满足条件 (+type:comment +comments:SolrCloud)
.
第二个过滤器子句将对满足第一个过滤器的父文档子集进行操作。它将在这个子集中找到满足条件 (+type:publisher +address:England)
.