La última opción para resolver esto fue preguntarle a StackOverflow.Cómo O valor nulo en la consulta Apache Solr?
Estoy tratando de crear una consulta Solr para obtener los documentos que tienen un valor específico en una de sus campos o que no tiene un valor ...
Teóricamente, esta consulta debería haber funcionado.
Aquí hay alguna información:
Consulta: (Nombre: john) - contador> Resultado: 15383 // Johns
Consulta: (nombre: * {A} *) - -> recuento Resultado: 61013 // Las personas que tienen un nombre
consulta: - (nombre: * {a} *) -> recuento Resultado: 216888 // Las personas que no tienen un nombre
Ahora, cuando uso la primera y la tercera consulta en una misma consulta con el operador OR, espero obtener (216888 + 15383) resultados. Pero SOLR da 15383 resultados, simplemente ignora el efecto de la tercera consulta:
Consulta: + ((Nombre: john) (- (nombre: * {A} *))) // Esta es la consulta que estaba usado.
¿Esto es un error de Solr o estoy haciendo mal en la consulta? La fusión de dos resultados de consulta es una solución adicional, pero no quiero hacer una implementación de código adicional si pudiera hacerlo con una simple consulta.
Cualquier ayuda sería apreciada.
trabajado por mí !! – Raj
Esto es justo lo que necesitaba. Gracias. ¿Sería capaz de explicar lo que 'AND *: *' hace en este ejemplo? Veo que mi búsqueda no funciona si dejo esa parte, no estoy seguro de por qué. –
'*: *' significa todas las filas. '*: * -name: *' significa todas las filas sin un valor de nombre. 'name: john OR (*: * -name: *)' se puede traducir a SQL como 'name = 'john' O el nombre IS NULL' – Semra