Como adicionar sugestões de ortografia ao script de pesquisa PHP / SQL

Criando uma function de pesquisa no meu site usando php / sql, simples o suficiente – basta usar uma consulta SELECT ALL no database usando a cláusula LIKE e fazendo eco do resultado na página. Minha pergunta é, como posso adicionar sugestões de ortografia no caso de o usuário digitar a sua consulta de pesquisa. O Mysql não retorna nada a menos que o termo de pesquisa corresponda exatamente ao conteúdo do database, por exemplo, “Dofs” não retornará “Cães”. Então, como as sugestões de ortografia podem ser adicionadas?

Obrigado.

Seguindo você encontrará um excelente artigo de Peter Norvig sobre como escrever um verificador ortográfico:

http://www.norvig.com/spell-correct.html

e os dois links a seguir são implementações em PHP do código encontrado no artigo:

http://www.phpclasss.org/browse/package/4859.html http://soundofemotion.com/spellcorrect.txt

Espero que isto ajude.

E sobre a extensão pspell do PHP?

< ?php $pspell_link = pspell_new("en"); if (!pspell_check($pspell_link, "dofs")) { $suggestions = pspell_suggest($pspell_link, "dofs"); foreach ($suggestions as $suggestion) { echo "Possible spelling: $suggestion
"; } } ?>

Esta extensão PHP exige que você tenha bibliotecas aspell instaladas.

Você precisa verificar algo como o seguinte:

http://phpir.com/spelling-correction

Você precisará um dictionary e a function levenstien basicamente.

Além da excelente solução de Joe , você pode fazer uma chamada de soap para fornecer ortografia alternativa (com base no corpus de idioma de um mecanismo de pesquisa)

Sugestão de ortografia do Yahoo: http://developer.yahoo.com/search/web/V1/spellingSuggestion.html

Pedido de ortografia do Google: http://code.google.com/apis/soapsearch/reference.html#1_3