MYSQL-针对“ NA”的全文匹配失败

时间:2019-03-04 14:44:07

标签: mysql match-against

我有这个数据库(MySql v5.7)

df1.assign(New=df1.reset_index().index).join(df2,lsuffix='x',rsuffix='y' ).\
       sort_values('New').\
         eval('column=columnx-columny')[['column']]
Out[142]: 
            column
identifier        
a             -1.0
b              NaN
a              1.0
b              NaN
c              2.0

我正在BOOLEAN MODE中通过全文语法执行一些搜索,以搜索其他值匹配。 我真的无法弄清楚为什么搜索术语“ NA”时它失败了: 该查询结果为空:

DROP TABLE IF EXISTS test3_sim;
CREATE TABLE test3_sim (
ID INT not null,
texto VARCHAR(1024)
);

ALTER TABLE test3_sim ADD FULLTEXT(texto);

INSERT INTO test3_sim (id,texto) VALUES (1,'NA');
INSERT INTO test3_sim (id,texto) VALUES (2,'NA');
INSERT INTO test3_sim (id,texto) VALUES (3,'DUPLICATE');
INSERT INTO test3_sim (id,texto) VALUES (4,'OTH');
INSERT INTO test3_sim (id,texto) VALUES (5,'NOP');
INSERT INTO test3_sim (id,texto) VALUES (6,'NOP');
INSERT INTO test3_sim (id,texto) VALUES (7,null);

但是它应该输出前2行。

对于“ DUPLICATE”,“ OTH”,“ NOP”搜索,一切正常。

查询失败有特定原因吗? 演示在这里

1 个答案:

答案 0 :(得分:0)

根据@Raymond Nijaland的评论,这是由于FULLTEXT的默认ft_min_word_len设置为3,这意味着它不会索引长度较短的字符串