Mysql利用match...against进行全文检索

在电商项目中,最核心的功能之一就是搜索功能,搜索做的好,整个电商平台就是个优秀的平台。一般搜索功能都使用搜索引擎如Lucene、solr、elasticsearch等,虽然这功能比较强大,但是对于一些小公司或者小的电商平台项目有点大材小用了,对于小项目我们可以采用折中的方法,使用ik+MySQL的搜索引擎进行查询,ik用于分词,mysql利用match和against函数进行模糊查询。先写下mysql的match和against的用法。

1 1、给mm_product表name,label字段添加fulltext索引。  
2 ALTER TABLE `mm_product`  
3 ADD FULLTEXT INDEX `name1` (`name`);  
4 ALTER TABLE `mm_product`  
5 ADD FULLTEXT INDEX 'label1'  ('label');  

 

1 2、使用match和against函数  
2 select * from mm_product where match(name,label) against('白猫 洗洁精');  
在SELECT的WHERE字句中用MATCH函数,索引的关键词用AGAINST标识,IN BOOLEAN MODE是只有含有关键字就行,不用在乎位置,是不是起启位置.
posted @ 2017-08-08 11:02  UniqueColor  阅读(1988)  评论(0编辑  收藏  举报