Mysql搜索域名

时间:2009-06-12 22:30:21

标签: mysql search full-text-search domain-name

我有一个充满域名的表。我想做一个返回某种相关性结果的搜索。我的问题是,如果我搜索“酷”,我希望它返回“cooldomain.com”,这是一个全文搜索,除非我做错了,不会。

是否有任何我不知道的全文选项可以实现这一目标?如果没有,我将如何去做呢?

4 个答案:

答案 0 :(得分:0)

好的旧WHERE domain LIKE '%cool%'会匹配,但不会返回“相关性” - 我不确定你是如何定义它的。

答案 1 :(得分:0)

尝试类似

的内容
SELECT * FROM domains WHERE domain_name LIKE 'cool%';

答案 2 :(得分:0)

我在这里使用LIKE,全文搜索用于匹配完整的单词或表达式,查询扩展等。我认为* operator只能在使用MATCH时用作后缀,所以你会想念imcool.com ......

我认为你必须收集更多信息才能进行相关性排序。

修改 如果你想使用索引,你也可以将域的单词存储在另一列中,并使用全文搜索功能...

答案 3 :(得分:0)

您需要为表格设置FULLTEXT索引,然后执行以下操作:

SELECT *, MATCH(domain_name) AGAINST ('{search term here}' IN BOOLEAN MODE) as Relevance 
FROM domains 
WHERE MATCH (domain_name) AGAINST('{search term here}' IN BOOLEAN MODE) 
ORDER BY Relevance DESC