MYSQL5.7 全文檢索中文無返回?cái)?shù)據(jù)的問題解決
在MySQL 5.7.6之前,全文索引只支持英文全文索引,不支持中文全文索引,需要利用分詞器把中文段落預(yù)處理拆分成單詞,然后存入數(shù)據(jù)庫。
從MySQL 5.7.6開始,MySQL內(nèi)置了ngram全文解析器,用來支持中文、日文、韓文分詞。
本文使用的MySQL 版本是5.7.22,InnoDB數(shù)據(jù)庫引擎。
1.修改my.ini文件,增加ngram 解析器,增加ngram_token_size= 2,然后重啟MYSQL服務(wù)
[mysql] # 設(shè)置mysql客戶端默認(rèn)字符集 default-character-set=utf8 [mysqld] # 設(shè)置3306端口 port = 13306 #mysql-5.7.43-winx64的路徑 basedir = D:\install\mysql\mysql-5.7.44-winx64 #修改為自己的數(shù)據(jù)庫解壓路徑 #mysql-5.7.43-winx64的路徑+\data datadir = D:\install\mysql\mysql-5.7.44-winx64\data #修改為自己的數(shù)據(jù)庫存儲(chǔ)路徑 # 允許最大連接數(shù) max_connections=20 # 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集 character-set-server=utf8 # 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎 default-storage-engine=INNODB # 創(chuàng)建模式 sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES ft_min_word_len = 1 ngram_token_size= 2
2.創(chuàng)建帶索引表:
CREATE TABLE articles ( id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, title VARCHAR (200), body TEXT, FULLTEXT (title) WITH PARSER ngram ) ENGINE = INNODB;
或修改表添加索引
drop index ft_title on articles; create fulltext index ft_title on articles(title) WITH PARSER ngram;
3.查詢驗(yàn)證
SELECT * FROM articles WHERE MATCH (title) AGAINST ('上海 故事' IN NATURAL LANGUAGE MODE); SELECT * FROM articles WHERE MATCH (title) AGAINST ('上海 故事' IN BOOLEAN MODE);
到此這篇關(guān)于MYSQL5.7 全文檢索中文無返回?cái)?shù)據(jù)的問題解決的文章就介紹到這了,更多相關(guān)MYSQL5.7 中文無返回?cái)?shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql實(shí)現(xiàn)表內(nèi)增加一個(gè)字段并賦值
這篇文章主要介紹了mysql實(shí)現(xiàn)表內(nèi)增加一個(gè)字段并賦值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09Windows10下MySQL5.7.19安裝教程 MySQL忘記root密碼修改方法
這篇文章主要為大家詳細(xì)介紹了Windows10下MySQL5.7.19安裝教程,以及MySQL忘記root密碼的修改方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10mysqld-nt: Out of memory (Needed 1677720 bytes)解決方法
這篇文章主要介紹了mysqld-nt: Out of memory (Needed 1677720 bytes)解決方法,需要的朋友可以參考下2014-12-12MySQL中索引失效的常見場(chǎng)景與規(guī)避方法
這篇文章主要給大家介紹了關(guān)于MySQL中索引失效的常見場(chǎng)景與規(guī)避的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12