我正忙于一个需要在网页上找到相似文本的程序。在SQL中,我们有400.000个搜索词。例如,搜索词可以是“San Miguel Pale Pilsen”、“Schaumburger Bali”和“Rizmajer”。
现在,我正在数据库中检查网页上的每个单词。对于网页上的每个单词,我发送一个带有%like%运算符的select查询。对于每个结果,我在php中使用相似的文本。如果单词和搜索词不等于其中的单词数量,它将获得网页中的一些额外单词,以使其相等。(是的,我知道它并不聪明)问题是它需要花费大量的时间,服务器必须为此付出努力。
在网页上查找相似文本的最好和最快的方法是什么?
发布于 2018-07-04 05:33:22
如果使用%
通配符启动模式,则LIKE
操作符总是很慢。这是因为您否定了MariaDB使用任何索引的能力。
考虑到您需要在VARCHAR
列的任何位置查找单词,最好的解决方案是实现真正的全文搜索。请参阅MariaDB的Full-Text Index Overview。
搜索速度将提高几个数量级,更不用说可伸缩性了。
https://stackoverflow.com/questions/51157822
复制相似问题