【问题标题】:Better SQL Search Engine更好的 SQL 搜索引擎
【发布时间】:2014-04-28 03:51:52
【问题描述】:

我有一个基本的 SQL 搜索引擎,如下所示:

SELECT * FROM table_name WHERE row_name LIKE '%$keyword%'

将其用作基本搜索引擎可以正常工作,但是如果有人拼错了某些内容,则根本无法使用。用户查询需要与数据库中条目的至少一部分完全匹配。我的问题:有没有办法解决这个问题,如果有人拼错了什么,仍然会返回结果。让计算机返回最佳搜索结果,而不是什么都不返回。我真的希望查询看起来像

SELECT * FROM table_name WHERE row_name MOSTLY LIKE '%$keyword%'

没有MOSTLY LIKE 运算符,但我想知道我会用什么来模拟类似的东西。 注意:变量$keyword是用户输入

【问题讨论】:

  • 从了解 Levenshtein 距离开始(你可以用谷歌搜索)。不幸的是,如果您有大量关键字和大量文本,则计算量相对较大。

标签: php mysql sql search search-engine


【解决方案1】:

如果您使用的是 MSSQL,请查找 SOUNDEX。

【讨论】:

    猜你喜欢
    • 2011-08-31
    • 2012-03-21
    • 1970-01-01
    • 2021-06-12
    • 1970-01-01
    • 2011-04-12
    • 2013-10-16
    • 2014-11-09
    • 2014-04-07
    相关资源
    最近更新 更多