Pesquisa em um mysqldb com php

votos
2

Como implementar uma grande pesquisa dentro de um mysqldb - dentro de uma tabela se eu procurar com '... Como% bla% ....' nem todos os entrys seria encontrado - se bla dentro de uma palavra, por exemplo. uma pesquisa com soundex seria ótimo - mas se eu ler o manual i deve criar um soundex-índice para procurar valores soundex?

Portanto, a pergunta o que é a melhor prática para escrever um bom db-search vor uma palavra-chave dentro de uma coluna simples título ou someting mais.

tchau

Publicado 09/12/2008 em 16:59
fonte usuário
Em outras línguas...                            


2 respostas

votos
2

Se você não for até a instalação e utilização esfinge, então você pode tentar usar alguns dos MySQL é construído em recursos completos pesquisa de texto como "MATCH"

Isso permite que você faça pesquisa de texto completo e ainda classifica os resultados com uma pontuação de relevância. Você pode escrever consultas como:

SELECT id, col1, col2, MATCH(col1, col2) AGAINST('some text' IN NATURAL LANGUAGE MODE) AS relevance FROM table1;

Você ainda pode usar expansão de consulta para pegar em outros termos estreitamente relacionados. Por exemplo, se as buscas do usuário para "banco de dados" e os primeiros resultados mais relevantes conter "mysql", então o mysql irá também procurar "mysql", porque determinou que os "mysql" prazo está intimamente relacionado com o "banco de dados" termo que o usuário procurou.

http://dev.mysql.com/doc/refman/5.1/en/fulltext-query-expansion.html

Respondeu 09/11/2009 em 02:09
fonte usuário

votos
2

Para pesquisa de texto você tem duas opções além de usar uma cláusula LIKE - FULLTEXT índice (que significa usar MyISAM) ou usando os motores de indexação específicos, tais como Lucene ou Esfinge .

Pessoalmente eu recomendo usar Esfinge, que tem excelente integração com ambos MySQL e PHP e é muito rápido para pesquisa de texto (e outras consultas também).

Respondeu 09/12/2008 em 17:04
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more