join solr constraints block

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) .