guide - ¿Cómo O valor nulo en la consulta Apache Solr?
solr xls (3)
La última opción para resolver esto fue preguntarle a StackOverflow.
Intento crear una consulta de Solr para obtener documentos que tengan un valor específico en uno de sus campos O que no tengan un valor ...
Teóricamente, esta consulta debería haber funcionado.
Aquí hay algo de información:
Consulta: (nombre: john) -> Número de resultados: 15383 // Johns
Consulta: (nombre: {* TO *}) -> Número de resultados: 61013 // Personas que tienen un nombre
Consulta: - (nombre: {* TO *}) -> Número de resultados: 216888 // 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:
Query: + ((name: john) (- (name: {* TO *}))) // Esta es la consulta que se utilizó.
¿Es esto 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.
También puedes usarlo así.
&fq=name:john OR !name:['''' TO *]
prueba la siguiente consulta:
q=(name:john OR -(name:[* TO *]))
(-name:[* TO *] AND *:*) OR name:john