Php 带有';你是说';

Php 带有';你是说';,php,search-engine,Php,Search Engine,可能重复: 我有一个数据库表,大约有200万条记录。我正在使用mysql全文搜索,但用户经常输入不好的单词,例如gmes->should be games,所以我需要一个带有PHP包装的库,以便具有类似于google“你是说我应该使用什么?”的功能。索引是一个单词列表,以及它们出现的位置。例如,游戏发生在第123行和第456行。如果您有这样一个包含所有单词的列表,您可以轻松地搜索最匹配的单词。这样,您就可以将GME与游戏相匹配 但是,MySQL提供的索引不可能做到这一点。您可以使用像Yahoo

可能重复:


我有一个数据库表,大约有200万条记录。我正在使用mysql全文搜索,但用户经常输入不好的单词,例如gmes->should be games,所以我需要一个带有PHP包装的库,以便具有类似于google“你是说我应该使用什么?”的功能。索引是一个单词列表,以及它们出现的位置。例如,游戏发生在第123行和第456行。如果您有这样一个包含所有单词的列表,您可以轻松地搜索最匹配的单词。这样,您就可以将GME与游戏相匹配


但是,MySQL提供的索引不可能做到这一点。

您可以使用像Yahoo这样的API作为任何简单的方法来完成它,而不必使用自己的API。

如果您不打算依赖第三方网站,您肯定需要自己的带有levenshtein算法的词典,以了解用户条目与词典术语的接近程度。

另一个选项是特别的,但您需要在服务器上安装。

如果您的查询非常通用,您可以使用Yahoo Spelling API等。但是如果你有一个特定领域的词汇表,那么你最好使用它

你可以用它来索引你的2MM记录,简单!它还可以从你的记录中生成一个拼写检查索引,用于你的“你的意思是什么?”?或自动建议功能。由于它的RESTful API,它也非常容易集成到任何语言中


一句话:如果你正在寻找一个长期的解决方案,除了拼写检查之外,还可以处理一些事情,例如搜索/自动建议/刻面等。Solr是一个不错的选择。

问得好,但你应该在询问之前试过搜索引擎;)可能的副本和