我的sql语句如下:
mysql -h10.10.10.10 -P3307 -uusername -ppassword -N -e "select lemmaId,title from bk_recmdLemma.LemmaManager where 1=1 and match(categories) against ('人物|')"
上述查询categories字段时走的全文索引,总的LemmaManager表的数据总共有1900万,但是发现上述语句一秒内就结束,但是没有数据,说明根本就没有匹配到数据
原因:我是在cmd命令行窗口执行的sql查询,这个命令行窗口将中文进行编码传给mysql引擎的时候应该是发生了乱码,导致mysql引起无法识别,而匹配不上,所以要在mysql语句中加上编码:
mysql -h10.130.83.110 -P3307 -ubaike_readonly -pbaike_readonly_pass --default-character-set=utf8 -N -e "select lemmaId,title from bk_recmdLemma.LemmaManager where 1=1 and match(categories) against ('人物|')"