关于MySQL的FULLTEXT实现全文检索的注意事项
博客专区 > Near_Je 的博客 > 博客详情
关于MySQL的FULLTEXT实现全文检索的注意事项
Near_Je 发表于3年前
关于MySQL的FULLTEXT实现全文检索的注意事项
  • 发表于 3年前
  • 阅读 3436
  • 收藏 6
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: 对于英文,MySQL的FULLTEXT属性来实现全文检索是相当方便且高效的,但是在使用过程中需要注意一些事项。

对于英文,MySQL的FULLTEXT属性来实现全文检索是相当方便且高效的,但是在使用过程中需要注意一些事项。

首先对我们对需要进行检索的字段添加FULLTEXT属性(假设已经建表):

SQL:

alter table table_name add fulltext index(filed_1,filed_2);

接下来查询数据:

SQL:  

 SELECT * FROM table_name WHERE MATCH (filed_1,filed_2) AGAINST ('keyword');

此处涉及到一个很重要的注意事项:

MySQL规定全文搜索中被搜索的单词所在的行数大于等于被搜索的所有行数的一半时候,就将被搜索单词作为Common word,即不被显示。(具体条件需要查阅资料确定)

因此,假设在测试的时候,表中只有一行数据,所以无论怎么执行上述查询语句,返回的结果总是为空。不必惊慌,多加几条没有待查关键词的数据就会有结果啦~

当然,MySQL提供了更加强大的查询结果过滤:

SQL:    

SELECT * FROM table_name WHERE MATCH (filed_1,filed_2) AGAINST ('+keyword_1 -keyword_2' IN BOOLEAN MODE);

这样,就会返回包含keyword_1的数据,而包含keyword_2的数据就会被过滤掉。


原文地址:http://www.luoning.me/mysql-fulltext.html

共有 人打赏支持
粉丝 0
博文 3
码字总数 1619
×
Near_Je
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: