這里使用的是mysql8.0+,默認(rèn)使用ngram分詞
這里是已經(jīng)將文件從容器中掛載出來了,沒掛載出來要去容器內(nèi)部更改my.cnf文件并重啟mysql容器
步驟
一、查看mysql的分詞大小
show variables like '%token%';
ngram_token_size這里默認(rèn)是2我已經(jīng)改為1了
這個值代表分詞大小
比如abc會分成ab和bc兩個詞,會導(dǎo)致檢索單個詞a、b、c時沒有結(jié)果
二、進(jìn)入linux中my.cnf的文件位置并加入配置
ngram_token_size= 1
三、重啟mysql容器
docker restart mysql
四、對應(yīng)字段重新建立全文索引
因為更改了分詞配置,所以需要重新建立索引
# 刪除索引
ALTER TABLE table_name DROP INDEX index_name;
# 創(chuàng)建索引
ALTER TABLE table_name ADD FULLTEXT index_name(column_name) WITH PARSER ngram;
全文檢索使用
詳情見官方文檔
這里使用的是自然語言模式(NATURAL LANGUAGE MODE)文章來源:http://www.zghlxwxcb.cn/news/detail-564345.html
ALTER TABLE table_name ADD FULLTEXT index_name(column_name) WITH PARSER ngram;
SELECT * FROM table_name WHERE ... AND MATCH (column_name) AGAINST (column_value IN NATURAL LANGUAGE MODE)
例子:文章來源地址http://www.zghlxwxcb.cn/news/detail-564345.html
ALTER TABLE student ADD FULLTEXT ft_name(name) WITH PARSER ngram;
SELECT * FROM student WHERE age > 18 AND MATCH (name) AGAINST ('張' IN NATURAL LANGUAGE MODE)
到了這里,關(guān)于docker安裝的mysql更改全文檢索分詞配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!