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

问题描述 投票:3回答:5

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

谢谢。

php mysql search
5个回答
6
投票

接着您会发现彼得·诺维格(Peter Norvig)撰写的出色文章,介绍如何编写拼写检查器:

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

和以下两个链接是本文中找到的代码的PHP实现:

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

希望这会有所帮助。


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个库。


0
投票

您需要检查以下内容:

http://phpir.com/spelling-correction

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


0
投票

除了Joe's excellent solution之外,您还可以进行肥皂呼叫以提供替代的拼写(基于搜索引擎的语言语料库)

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

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


0
投票

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

来自文档:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.