mariadb innodb引擎全文搜索问题

dfuffjeb  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(270)

create table test_fts( id int(11) NOT NULL AUTO_INCREMENT, col1 varchar(250), col2 text DEFAULT NULL, col3 varchar(250), FULLTEXT KEY keyword_full_text (col1,col2,col3), PRIMARY KEY (id)) engine=innodb DEFAULT CHARSET=utf8; insert into test_fts(col1,col2,col3) values('hasan-new','test','hasan uçak'); insert into test_fts(col1,col2,col3) values('hasan-new','','hasan uçak'); insert into test_fts(col1,col2,col3) values('hasan-new11','test','hasan uçak');
我做全文搜索 SELECT * FROM test_fts WHERE ( MATCH (col1,col2,col3) AGAINST ('+\"hasan uçak\"' IN BOOLEAN MODE) ) 结果是
1哈桑新测试哈桑uçak 2哈桑新哈桑uçak 3 hasan-new11测试hasan uç阿克
没问题。
我重新创建全文索引 alter table test_fts drop index keyword_full_text; alter table test_fts add FULLTEXT INDEX keyword_full_text(col1, col2, col3); 1哈桑新测试哈桑uçak 3 hasan-new11测试hasan uç阿克
一排输了为什么?
当我用空值代替空字符串时,没问题
当任何列的值在索引字段中为空字符串时,我可以得到这一行。mysql不能把哪些列推到空字符串列之后,值是用来索引数据的吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题