Búsqueda basada en Lucene

Tengo un problema en la búsqueda basada en Lucene. He diseñado un documento con cinco campos. Considere que el documento sea Dirección con línea de dirección1, línea de dirección2, ciudad, estado y PIN. Si se va a realizar una búsqueda, entonces la búsqueda se ha realizado en todos los campos, por lo que estoy usando consultas de términos booleanos. Entonces los resultados serían recuperados. Ahora también tengo que responder no solo con respuestas sino también con el campo correspondiente. Por ejemplo, si el campo de ciudad coincide con la búsqueda, entonces debo responder como ciudad coincide con la búsqueda junto con la respuesta de búsqueda real. ¿Hay alguna API de lucene para acomodar esto?

preguntado el 28 de julio de 12 a las 15:07

Te refieres a algo como esto: stackoverflow.com/a/11697341/465710 -

NO, no estoy preguntando acerca de las uniones. El documento es el siguiente, DOcumento { Field firstName, Field middleName;} Entonces, para buscar en todos los campos, uso consultas de términos booleanos como esta, Query q= new BooleanQuery().add(new TermQuery("FirstName","name"), verdadero); q.add(new TermQuery("MiddleName,"name");. Así que los resultados serían evidentes. PERO la respuesta debería ser de nombre AlgúnOtroNombre primer nombre ------> ¿cómo determinar esto? -

¿Quiere saber qué campo coincidió con la consulta? -

1 Respuestas

AFAIK, no existe una solución simple para averiguar qué campo coincidió con la consulta.

Sus opciones son:

  1. intente usar el resaltador de hits (sabe dónde ocurrió la coincidencia pero es notablemente lento en grandes conjuntos de resultados)
  2. jugar con el método de explicación de IndexSearcher
  3. construya su solución personalizada

Golpee la experiencia del resaltador y los hallazgos de la solución.

En mi humilde opinión, no debería ser difícil implementarlo usted mismo, ya que Lucene en algún momento seguramente sabe qué campo produjo una coincidencia, pero descarta esa información como un peso innecesario en el momento en que redacta su respuesta.
Me encontré con este enfoque personalizado.

Intente encontrar más recursos en search-lucene.com, el mejor motor de búsqueda relacionado con Lucene/Solr.

Respondido 29 Jul 12, 01:07

Mbonaci, esta solución se adaptará mejor a mi problema, mail-archives.apache.org/mod_mbox/lucene-java-user/201207.mbox/… La preocupación dentro de mí es hacer un análisis binario para la consulta booleana y combinar estos resultados con el resultado principal. - vvekselva

Me alegro de que la información haya ayudado. Tal vez deberías intentar contactar a Ashish Jaen para ver qué terminó usando como solución a este problema. No debería ser muy difícil averiguar su dirección de correo. - Marko Bonaci

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.