Acabo de aventurarme en el mundo aparentemente simple pero extremadamente complejo de la búsqueda. Para una aplicación, debo crear un mecanismo de búsqueda para buscar usuarios por sus nombres.Búsqueda de nombres con Apache Solr
Después de leer numerosos mensajes y artículos que incluyen:
How can I use Lucene for personal name (first name, last name) search?
http://dublincore.org/documents/1998/02/03/name-representation/
what's the best way to search a social network by prioritizing a users relationships first?
http://www.gossamer-threads.com/lists/lucene/java-user/120417
Lucene Index and Query Design Question - Searching People
Lucene Fuzzy Search for customer names and partial address
... y algunos otros que no puedo encontrar en-el- momento. Y conseguir por lo menos-indexación y búsqueda básica de trabajo en mi máquina he ideado el siguiente esquema para el usuario a buscar:
1) Tener un primer, segundo y tercer campo del nombre y el índice de aquellos con Solr
2) Utilizar edismax como la requestParser de varias columnas en busca
3) Use una combinación de filtros de normalización, tales como: transliteración, convesrion latino-a-ASCII, etc.
4) utilizar Finalmente búsqueda difusa
Evidentemente, al ser muy nuevo en esto No estoy seguro si lo anterior es la mejor manera de hacerlo y me gustaría saber de usuarios experimentados que tienen una mejor idea que yo en este campo.
I necesita ser capaz de coincidir con los nombres de las siguientes maneras:
1) plegable Accent: Jorn coincide Jörn y viceversa
2) ortografías alternativas: Karl coincide Carl y viceversa
3) acortado representaciones (creo que hago esto con el SynonymFilterFactory): Sue coincide con Susanne, etc.
4) Levenstein juego: Jonn coincide con Juan, etc.
5) Soundex juego: Elin y Ellen
Cualquier orientación, las críticas o co Los mimos son bienvenidos. Por favor, avíseme si esto es posible ... o tal vez solo estoy soñando despierto. :)
EDITAR
también debo añadir que yo también tengo un campo de nombre completo en caso de que algunas personas tienen nombres largos, como un ejemplo de uno de los postes: Jon Paul o del Carmen debe también coincide con Jon Paul Del Carmen
Y dado que este es un proyecto nuevo, puedo modificar el esquema y la arquitectura de la forma que considero adecuada, por lo que existen restricciones muy limitadas.
Usted obtendrá los mejores resultados al tratar de resolver 1 tema a la vez. (Probablemente lo sepas, solo te estoy recordando ;-)) ... Y trataría de resolver primero los problemas más fáciles. Su lista parece ordenarse en orden inverso de dificultad. Empezaría con el n. ° 5 y volvería al n. ° 1. Cada uno de estos temas puntúa una pregunta separada aquí en S.O. Finalmente, creo que obtendrás una mejor ayuda en los foros de usuarios en el sitio principal de cada proyecto. Pasé varias horas hace unos meses leyendo el foro de lucene en apache.org y me pareció muy alentador e iluminador. ¡Buena suerte! – shellter
Doblar acento, hasta donde yo sé, realmente no sé sueco, por ejemplo, pero cuando se usa un determinado analizador de lenguaje en el texto, siempre que se use ese mismo analizador en la consulta, se indexará documento de búsqueda. Aunque no sé mucho acerca de la detección del lenguaje en un texto. – Joyce