2012-08-09 17 views
15

Quiero en la segunda parte de mi consulta tener una lista de resultados para los datos while null. Encuentro cómo hacerlo en solr pero no en lucene. Alguien tiene una idea Gracias¿Cómo consultar lucene para campos vacíos?

Cadena:

(field_one: búsqueda y field_two: 3000) O (field_three: búsqueda y field_two: 3000 y NO field_one NULL)

Consulta:

+ field_one: búsqueda + field_two: 3000 + field_three: búsqueda + field_two: 3000 -field_one: null

Respuesta

14
*:* -MY_FIELD_NAME:[* TO *] 

Lo anterior debe hacerlo, tenga en cuenta el *: * para Lucene.

+0

Intento su propuesta pero eso no funciona. Dado que el atributo que me gustaría si no es nulo no está indexado cuando no se proporcionó ningún valor, la solicitud no logra manejarlo, supongo. –

+0

bien para que lo anterior funcione, el campo debe existir (solo diferencia entre NULO y No NULO (ver cadena vacía) – Mikos

5
*:* -MY_FIELD_NAME:[* TO "zzzzzzzzzz"] 

Puede agregar más caracteres "z" para asegurarse de incluir cualquier valor en el campo.

+0

Desafortunadamente, "zzzzzzzzzzz" no tiene en cuenta los caracteres no alfanuméricos. –

Cuestiones relacionadas