您能否给我一些提示,如何根据用户输入的字词生成建议?它不是一个拼写错误的东西,我不想当用户输入单词:“hello”如果数据库不包含单词“hello”但单词“helo”或“helol”表示。
谢谢。
答案 0 :(得分:2)
<强> FYI 强>
您应该查看PHP的levenshtein函数,它会根据分数找到最接近的匹配单词,使用字典文件...我知道您说这不是错误拼写,但字典文件可以是任何内容,您可以有多个,取决于你想如何使用它
答案 1 :(得分:1)
单独使用MySQL会太复杂。您需要使用Sphinx Search(一个独立的全文搜索引擎)之类的东西来索引常用词,然后针对Sphinx运行查询。
有一个相当不错的主题答案 2 :(得分:1)
您可以使用Soundex function并将提交的字符串与字典数据库进行比较,即:
soundex("Hellllo") == soundex("Hello");
您需要做的就是将您的建议soundex存储在表格中。然后,当用户提交单词时,您可以在表格中搜索他的soundex哈希,并返回具有相同/紧密代词的单词。
soundex方法有点快,但是如果你需要性能,你的dictionnary表必须编入索引。