/ / Como faço para pesquisar texto completo com correspondências parciais? - php, mysql, banco de dados, pesquisa de texto completo

Como pesquiso texto completo com correspondências parciais? - php, mysql, banco de dados, pesquisa de texto completo

Eu tenho uma tabela, com não muitas linhas e nem muitas colunas. Eu estou fazendo uma pesquisa de texto completo em 3 colunas.

Meu código é

$search_input = trim($_GET["s"]);
$search = mysql_real_escape_string($search_input);
$search = "+".str_replace(" ", "* +", $search)."*";

$sql = "SELECT * FROM table WHERE
MATCH(def, pqr, xyz) AGAINST ("$search" IN BOOLEAN MODE)";

$result = mysql_query($sql);

Posso pesquisar corretamente termos como abcdefgh, que estão presentes como abcdefgh ....

Mas estou recebendo um conjunto vazio com termos de pesquisa como abc, onde na entrada da tabela está presente algo como abc-123e também termos como abcdefghs. (note que este é o plural de acima)

É claro que preciso implementar uma pesquisa parcial ou algo parecido.
Mas como faço para implementar essa pesquisa? Qualquer maneira melhor de fazer uma pesquisa de tabela inteira na entrada do usuário?

Mencione qualquer coisa que eu esteja fazendo incorretamente.

EDITAR : Adicionando * após cada palavra, agora também posso pesquisar abcde, mas acima dos problemas permanece.

Respostas:

1 para resposta № 1

Quer dizer que você não obtém resultados para combinações de 3 letras? Se assim for, você pode estar atingindo o comprimento do índice mysql (que geralmente é definido como 3)

Mais informações aqui - http://dev.mysql.com/doc/refman/5.1/en/fulltext-fine-tuning.html