【发布时间】:2014-02-26 17:50:43
【问题描述】:
我使用 PHP、PDO 扩展和 MySQL 作为默认 DBMS。我还有一个准备好的标签表,在我的数据库中有两个 id 和 tag 列。
我的目的是“从标签表中存在的字符串中自动提取匹配的标签”,我的问题是通过 PDO 查询来执行该操作。
例如,如果字符串是 "An Expensive And High Quality Computer hardware" ,在删除少于 3 个字符的单词后,如果我执行如下查询:SELECT id FROM tags WHERE tag LIKE %Expensive%And%High%Quality%Computer%; ,像 "expensive" 或 "computer" 这样的文字标签将没找到!
同样执行SELECT id FROM tags WHERE tag='expensive' OR tag='and' OR tag='high' OR tag='quality' OR tag='computer' OR tag='hardware'; 之类的查询不会包含“高质量”或“昂贵硬件”之类的标签。
每个字符串都会执行一次此查询,在这种情况下处理时间无关紧要。
提前谢谢你,抱歉我的解释不好。
【问题讨论】:
-
%不是这样工作的,在大型数据集上将OR链接在一起非常痛苦。
标签: php mysql string tags extract