Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Integrando pesquisa em um site onde o backend é MYSQL


Para endereçar seus pontos:

  1. Usar %input% é muito ruim . Isso fará com que uma verificação completa da tabela seja feita a cada consulta. Sob qualquer quantidade de carga ou mesmo em um conjunto de dados remotamente grande, seu servidor de banco de dados será bloqueado.

  2. Um RDBMS sozinho não é uma boa solução para isso. Você está procurando no lugar certo procurando uma solução separada para pesquisa. Algo que pode se comunicar bem com seu RDBMS é bom; algo que é executado dentro de um RDBMS não fará o que você precisa.

  3. Full Text Search no MySQL é viável para pesquisas de palavras-chave muito básicas, nada mais. O escopo de utilidade é extremamente limitado - você precisa de um modelo de uso altamente previsível para aproveitar a pesquisa integrada. É chamado de "pesquisa", mas não é realmente uma pesquisa do jeito que a maioria das pessoas pensa. Comparado com a qualidade dos resultados de pesquisa que esperamos do Google e do Bing, não se compara. Nesse sentido da palavra "pesquisa", é outra coisa - como Bloco de Notas vs Word. Ambos são coisas para digitar, mas é isso.

No que diz respeito aos sistemas separados para lidar com a pesquisa, o Lucene é muito bom. O Lucene funciona da maneira que você quiser, essencialmente. Você pode interagir com ele programaticamente para inserir documentos indexáveis. Da mesma forma, um Google Appliance (não Pesquisa personalizada do Google ) podem receber meta feeds diretos que expõem o que você deseja que seja indexado, como dados diretamente de um banco de dados.