sql >> Base de Datos >  >> RDS >> Mysql

Integración de la búsqueda en un sitio web donde el backend es MYSQL

Para abordar sus puntos:

  1. Usar %input% es muy malo . Eso hará que una tabla completa escanee cada consulta. Bajo cualquier cantidad de carga o incluso en un conjunto de datos remotamente grande, su servidor de base de datos se ahogará.

  2. Un RDBMS por sí solo no es una buena solución para esto. Está buscando en el lugar correcto al buscar una solución separada para la búsqueda. Algo que pueda comunicarse bien con su RDBMS es bueno; algo que se ejecuta dentro de un RDBMS no hará lo que necesita.

  3. La búsqueda de texto completo en MySQL funciona para búsquedas de palabras clave muy básicas, nada más. El alcance de la utilidad es extremadamente limitado:necesita un modelo de uso altamente predecible para aprovechar la búsqueda integrada. Se llama "búsqueda", pero en realidad no es una búsqueda de la forma en que la mayoría de la gente piensa en ella. En comparación con la calidad de los resultados de búsqueda que esperamos de Google y Bing, no se compara. En ese sentido de la palabra "buscar", es otra cosa, como Notepad vs Word. Ambos son cosas para escribir, pero eso es todo.

En cuanto a los sistemas separados para manejar la búsqueda, Lucene es muy bueno. Lucene funciona como quieras que funcione, esencialmente. Puede interactuar con él programáticamente para insertar documentos indexables. Asimismo, un Google Appliance (no Búsqueda personalizada de Google ) pueden recibir meta feeds directos que expongan todo lo que desee que se indexe, como datos directamente de una base de datos.