Tengo un índice Lucene que contiene documentos que tienen un campo "tipo", este campo puede ser uno de tres valores "artículo", "foro" o " Blog". Deseo que el usuario pueda buscar dentro de estos tipos (hay una casilla de verificación para cada tipo de documento)Consulta de Lucene - "Emparejar exactamente uno de x, y, z"
¿Cómo creo una consulta Lucene dependiendo de qué tipos ha seleccionado el usuario?
Un par de requisitos previos son:
- Si el usuario no selecciona uno de los tipos, quiero no resultados de ese tipo.
- El orden de los resultados no debe verse afectado al restringir el campo de tipo.
Como referencia, si tuviera que escribir esto en SQL (para un "blog o foro de búsqueda") que escribiría:
SELECT * FROM Docs
WHERE [type] in ('blog', 'forum')
Esto es lo que hice al final, aunque utilicé la API en lugar de crearla como una cadena, consulte mi respuesta si le interesa. – thatismatt