如何向PHP / SQL搜索脚本添加拼写建议

时间:2010-01-16 01:09:47

标签: php mysql search

使用php / sql在我的站点上创建搜索功能,非常简单 - 只需使用LIKE子句在数据库上使用SELECT ALL查询并在页面上回显结果。我的问题是,如果用户输入错误的搜索查询,我该如何添加拼写建议。除非搜索词与数据库内容完全匹配,否则Mysql不会返回任何内容,例如“Dofs”不会归还“Dogs”。那么如何添加拼写建议?

感谢。

5 个答案:

答案 0 :(得分:5)

以下您将找到Peter Norvig关于如何编写拼写检查程序的优秀文章:

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

以下两个链接是PHP中代码中的代码实现:

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

希望这有帮助。

答案 1 :(得分:2)

PHP的pspell扩展程序怎么样?

<?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<br />";
    }
}
?>

此PHP扩展程序要求您安装 aspell 库。

答案 2 :(得分:0)

您需要查看以下内容:

http://phpir.com/spelling-correction

你基本上需要一本字典和levenstien函数。

答案 3 :(得分:0)

除了Joe's excellent solution之外,您还可以拨打肥皂来提供备用拼写(基于搜索引擎的语言语料库)

雅虎拼写建议: http://developer.yahoo.com/search/web/V1/spellingSuggestion.html

Google拼写请求: http://code.google.com/apis/soapsearch/reference.html#1_3

答案 4 :(得分:0)

2020年3月来到这里,那么https://tigitz.github.io/php-spellchecker/值得一看。

从文档中

PHP-Spellchecker是PHP的拼写检查器抽象库。通过为许多不同的拼写检查器提供统一的界面,您可以交换拼写检查器而无需大量重写。

使用PHP-Spellchecker可以消除供应商锁定,减少技术负担,并提高代码的可测试性。