Solr-Block join Consulta principal con muchas restricciones Children
constraints (1)
La pregunta se aplica a los siguientes documentos anidados:
<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>
....
Mi pregunta es, ¿cómo escribir el bloque de Join Parent Query que permite tener restricciones en múltiples documentos hijos anidados? Intenté lo siguiente, pero no funcionó:
{!parent which="content_type:accommodation"}
(
(+type:comment +comments:SolrCloud) AND
(+type:publisher +address:England)
)
0 fue devuelto como resultado!
Para su caso de uso, puede simplemente múltiples filtros de combinación de bloques:
q=*:*&
fq={!parent which="content_type:accommodation"}(+type:comment +comments:SolrCloud)&
fq={!parent which="content_type:accommodation"}(+type:publisher +address:England)
el primer filtro clouse encontrará qué documentos padre tienen un hijo que satisfaga la condición (+type:comment +comments:SolrCloud)
.
El segundo filtro de clouse funcionará sobre un subconjunto de documentos principales que satisfacen el primer filtro. Y encontrará en este subconjunto los documentos principales que satisfacen las condiciones (+type:publisher +address:England)
.