2010-08-05 32 views
7

Duplicar posible:
How does the Google “Did you mean?” Algorithm work?motor de búsqueda con 'Quiso decir'

Tengo una tabla de base de datos con cerca de 2 millones de discos. Estoy usando el texto completo de mysql para buscar, pero los usuarios a menudo escriben palabras malas ex gmes -> deberían ser juegos, así que necesito una biblioteca con envoltorios PHP para tener una función como en google '¿quiso decir' ¿Qué debo usar?

+4

Buena pregunta, pero deberías haber probado el motor de búsqueda en SO antes de preguntar;) Posible duplicado de [¿Cómo se entiende Google? Algoritmo?] (Http://stackoverflow.com/questions/307291/how-does-the-google-did-you-mean-algorithm-work) y a [couple others] (http://stackoverflow.com/ buscar? q = did + you + mean + search + php) – Gordon

Respuesta

1

Un índice es una lista de palabras y el lugar donde se producen. P.ej. los juegos se juegan en la fila 123 y 456. Si tiene una lista con todas las palabras, puede buscar fácilmente la palabra que mejor se adapte. De esta forma, podrías unir gmes con juegos.

Sin embargo, esto no es posible con el índice que proporciona MySQL.

3

Puede utilizar una API como la de Spelling Suggestion de Yahoo como una manera fácil de completarla sin tener que hacer la suya propia.

1

si usted no está planeando que confiar en los sitios 3 ª parte, que sin duda necesita su propio diccionario con el algoritmo levenshtein para averiguar qué tan cerca están las entradas de usuario a los términos del diccionario

1

Puede utilizar Yahoo Spelling API, etc. si sus consultas son muy genéricas. Pero si tiene un vocabulario específico de dominio, entonces es mejor que use Apache Solr.

Puede usarlo para indexar sus registros de 2MM, ¡fácil! Y úsalo como un servidor de búsqueda con facetas, etc. También genera un índice de corrector ortográfico de tus registros que puedes usar para tu "¿quisiste decir?" o la función de sugerir automáticamente. También es muy fácil de integrar en cualquier idioma debido a su RESTful API

Conclusión: si está buscando una solución a largo plazo que pueda manejar varias cosas, además de la corrección ortográfica, como buscar/auto-sugerir/facetar etc. Solr es el camino a seguir.

Cuestiones relacionadas