【发布时间】:2011-03-20 14:32:17
【问题描述】:
我有一个 URL 表,我需要找到任何包含关键字的 URL,例如“fogbugz”或“amazon”。如果关键字出现在 URL 中的任何位置,我希望它是结果。
现在,我正在尝试:
SELECT url FROM url WHERE url LIKE '%keyword%'
这是可以预见的缓慢,即使 url 被编入索引。
我愿意接受其他快速索引的方法,包括脚本方法。我正在考虑遍历每个 URL,用“/”然后“_ 或 -”字符将其拆分,并将它们存储在单独的 url2keyword 表中。使用这种方法,像“http://www.foo.com/directory/article-name”这样的 URL 将使用“foo”“directory”“article”“name”作为其关键字。只是一个想法。
当然,如果在 MySQL 中有更简单的方法可以做到这一点,或者一般来说,我更愿意这样做。
我想听听您对此事的建议!谢谢。
【问题讨论】:
标签: mysql search indexing sql-like