在电商项目中,最核心的功能之一就是搜索功能,搜索做的好,整个电商平台就是个优秀的平台。一般搜索功能都使用搜索引擎如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是只有含有关键字就行,不用在乎位置,是不是起启位置.