2011-12-01 15 views
9

Necesito definir múltiples Consultas de filtro en mi consulta pero con operación OR. Imagine que hay fq1, fq2 y fq3. Ahora me gustaría que mi consulta de filtro final sea:Múltiples consultas de filtro con operación OR en Solr

fq = FQ1 Y fq2 O fq3

¿Hay alguna manera de manejar la situación en Solr?

Respuesta

3

Esto no es posible en Solr. Sería genial si pudieras definir tus consultas de filtro y luego especificar por separado la lógica booleana que debería aplicarse entre ellas.

Hace unos años, creé un Jira issue con la esperanza de ver esto ser agregado.

-1
+fq:fq1 +(fq2:fq2 fq3:fq3) <-- if default query filter type is OR 
+1

¿Estás seguro de que esto funciona? He estado esperando esta característica por un tiempo, mira aquí: https://issues.apache.org/jira/browse/SOLR-1223 – brian519

+0

Soli, estoy pensando que lo mismo se puede hacer usando la consulta normal (no la consulta de filtro) – ajreal

5

Parece que ahora SOLR (> 4.5) compatible con este tipo de consultas, es decir

fq = (campo1: valor1 O campo2: valor2)

+1

De acuerdo con la documentación 'fq' para Solr 4.9, [" Las consultas de filtro pueden implicar consultas booleanas complicadas. "] (https://cwiki.apache.org/confluence/display/solr/Common+Query+Parameters # CommonQueryParameters-Thefq% 28FilterQuery% 29Parameter), que argumenta que usted es correcto. ¿Conoces algún ejemplo al que puedas vincular? – frances

+0

No pude encontrar ninguna referencia en línea que cité. Sin embargo, lo probé en una aplicación que desarrollo actualmente y funciona bien. – Zouzias

2

se puede hacer algo como esto:

fq=fieldA:(valueA OR valueB) OR fieldB:valueC

Cuestiones relacionadas