PHP:使用搜索词搜索网页上的相似文本

时间:2018-07-03 15:07:36

标签: php sql mariadb similarity

我正忙于一个程序,该程序需要在网页上查找相似的文本。在SQL中,我们有400.000个搜索词。例如,搜索词可以是“ San Miguel Pale Pilsen”,“ Schaumburger Bali”和“ Rizmajer Cortez”。

现在,我正在检查数据库中网页上的每个单词。对于网页上的每个单词,我都会发送一个带有%like%运算符的选择查询。对于每个结果,我在php中使用相似的文本。如果该单词和搜索词不等于其中的单词数量,它将获得网页中多余的单词以使其相等。 (是的,我知道这并不聪明) 问题在于这需要花费很多时间,服务器必须为此而努力。

在网页上查找相似文本的最佳和最快方法是什么?

1 个答案:

答案 0 :(得分:1)

如果您使用LIKE通配符开始模式,则%运算符将总是很慢。发生这种情况是因为您要忽略MariaDB使用任何索引的能力。

考虑到您需要在VARCHAR列的任何位置查找单词,最好的解决方案是实施真正的全文搜索。参见MariaDB的Full-Text Index Overview

搜索将变得更快,更不用说可扩展性了。