如何使用全文检索替代Like
本帖最后由 martin 于 2014-6-26 10:00 编辑之前是使用like查询的
select distinct name from names where name like '%东方商厦%'因为速度慢,改成了全文检索
selectdistinct name FROM names where (match(name) against ('*东方商厦*' IN BOOLEAN MODE) )可是发现出现的结果只是上面like的子集,并且都是以东方商厦开头的,我尝试去掉东方,
selectdistinct name FROMnames where (match(name) against ('*商厦*' IN BOOLEAN MODE) )发现大部分是以商厦开头,少量不是,不然依然还是like的子集。
我想请问下,这个啥问题?
难道mysq自带了分词,match不能等同于like,如果想等同需要自己做分词,是这样吗?
不能完全匹配吧,我用全文索引不多,有时间研究一下,你查查“布尔全文索引”...
页:
[1]