MYSQL5.7 全文檢索中文無(wú)返回?cái)?shù)據(jù)的問(wèn)題解決
在MySQL 5.7.6之前,全文索引只支持英文全文索引,不支持中文全文索引,需要利用分詞器把中文段落預(yù)處理拆分成單詞,然后存入數(shù)據(jù)庫(kù)。
從MySQL 5.7.6開(kāi)始,MySQL內(nèi)置了ngram全文解析器,用來(lái)支持中文、日文、韓文分詞。
本文使用的MySQL 版本是5.7.22,InnoDB數(shù)據(jù)庫(kù)引擎。
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ù)庫(kù)解壓路徑 #mysql-5.7.43-winx64的路徑+\data datadir = D:\install\mysql\mysql-5.7.44-winx64\data #修改為自己的數(shù)據(jù)庫(kù)存儲(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 全文檢索中文無(wú)返回?cái)?shù)據(jù)的問(wèn)題解決的文章就介紹到這了,更多相關(guān)MYSQL5.7 中文無(wú)返回?cái)?shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL主從復(fù)制與GTID環(huán)形復(fù)制的完整實(shí)操流程
MySQL主從復(fù)制是MySQL數(shù)據(jù)庫(kù)體系中最為經(jīng)典、應(yīng)用最廣泛、生產(chǎn)環(huán)境部署頻率最高的高可用與可擴(kuò)展性技術(shù)方案之一,這篇文章主要介紹了MySQL主從復(fù)制與GTID環(huán)形復(fù)制的相關(guān)資料,需要的朋友可以參考下2026-04-04
SQL高級(jí)查詢與預(yù)處理語(yǔ)句解析以及實(shí)戰(zhàn)練習(xí)題
預(yù)處理語(yǔ)句是數(shù)據(jù)庫(kù)優(yōu)化技術(shù)中的一項(xiàng)重要功能,它允許數(shù)據(jù)庫(kù)服務(wù)器預(yù)先解析SQL語(yǔ)句并生成執(zhí)行計(jì)劃,然后在后續(xù)執(zhí)行中只需傳遞參數(shù)即可重復(fù)使用,這篇文章主要介紹了SQL高級(jí)查詢與預(yù)處理語(yǔ)句解析以及實(shí)戰(zhàn)練習(xí)題的相關(guān)資料,需要的朋友可以參考下2025-10-10
MySQL數(shù)據(jù)庫(kù)學(xué)習(xí)之排序與單行處理函數(shù)詳解
這篇文章主要為大家詳細(xì)介紹一下MySQL數(shù)據(jù)庫(kù)中排序與單行處理函數(shù)的使用,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)MySQL有一定幫助,需要的可以參考一下2022-07-07
在MySQL中使用Sphinx實(shí)現(xiàn)多線程搜索的方法
這篇文章主要介紹了在MySQL中使用Sphinx實(shí)現(xiàn)多線程搜索的方法,修改Sphinx的搜索引擎配置即可,需要的朋友可以參考下2015-06-06
MySQL中建表時(shí)可空(NULL)和非空(NOT NULL)的用法詳解
這篇文章主要介紹了MySQL中建表時(shí)可空(NULL)和非空(NOT NULL)的用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Mysql中關(guān)于on,in,as,where的區(qū)別
這篇文章主要介紹了Mysql中關(guān)于on,in,as,where的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
MySQL主從復(fù)制(日志核心)完整教程(適合新手操作)
MySQL主從復(fù)制用于多個(gè)數(shù)據(jù)庫(kù)服務(wù)器之間的數(shù)據(jù)同步,它可以提供高可用性、提高數(shù)據(jù)庫(kù)整體性能和吞吐量,以及可以進(jìn)行數(shù)據(jù)備份和數(shù)據(jù)庫(kù)恢復(fù),這篇文章主要介紹了MySQL主從復(fù)制(日志核心)的相關(guān)資料,需要的朋友可以參考下2026-03-03
詳解Mysql中保證緩存與數(shù)據(jù)庫(kù)的雙寫(xiě)一致性
在一些高并發(fā)場(chǎng)景下,為了提升系統(tǒng)的性能,我們通常會(huì)將數(shù)據(jù)存儲(chǔ)在 Redis 緩存中,并通過(guò) Redis 緩存來(lái)提高系統(tǒng)的讀取速度,這篇文章主要介紹了詳解Mysql中保證緩存與數(shù)據(jù)庫(kù)的雙寫(xiě)一致性,需要的朋友可以參考下2024-03-03

