solucionario según octava méxico mercadotecnia marketing libro kotler gratis fundamentos edicion armstrong 8va solr

solr - según - Consulta de rango funcional anidado con O



según kotler y armstrong 2008 (2)

Estoy tratando de hacer una consulta funcional con un OR / Y sin embargo, parece que hay limitaciones para hacerlo. Aquí está la lógica para el equivalente SQL de la consulta que intento realizar:

ABS(col1-:val1)<1 OR (col1 IS NULL AND ABS(col2-:val1)<1)

Esta es mi consulta actual de fq de trabajo para obtener los documentos con una diferencia ABS de <1.

fq={!frange l=0 u=1}abs(sub(col1,val1))

Esto es lo que intento ejecutar pero no puedo sin error

fq={!frange l=0 u=1}abs(sub(col1,val1)) OR (-col1:[* TO *] AND {!frange l=0 u=1}abs(sub(col2,val1)))

Parece que no es posible usar AND y OR en la misma función fq cuando se utiliza una consulta funcional. ¿Cómo voy a hacer esto? Estoy usando solr 4.1. Gracias


Me encontré con un problema similar y descubrí la solución. Publicarlo aquí para que pueda ayudar a alguien. La consulta original se puede modificar así mediante la consulta : función "..." de solr:

fq=_query_:"{!frange l=0 u=1}abs(sub(col1,val1))" OR (-col1:[* TO *] AND _query_:"{!frange l=0 u=1}abs(sub(col2,val1)))"


Tratar

fq={!frange l=0 u=1 v=$myabs}&myabs=abs(sub(col1,val1))