mysql支援對文字進行全文檢索,全文檢索可以類似搜尋引擎的功能,相比較模糊匹配更加靈活高效且更快。mysql5.7之後也支援對中文的全文檢索,這裡描述如何啟用mysql的中文全文檢索。
首先,mysql啟用全文檢索要對字段加全文檢索的索引,注意,乙個表只能建立乙個全文檢索字段,如需要檢索多個字段,需要將多個字段一起建立索引,單獨建立多個索引是無效的。所以建立方法如下:
alter tablelocalgo
.entity
add fulltext indexentity_info
(entity_name
,entity_introduction
) with parser ngram;
mysql5.7支援對中文進行全文檢索,其自帶了內部的切詞系統,預設切詞系統的字段是4,但中文一般是兩個字組成乙個單詞,因此需要改變。首先看一下內部切詞的長度
show variables like 『ft_min_word_len』;
show variables like 『ft%』;
發現結果都是4,下面更改資料庫配置,在[client]下加上ft_min_word_len = 2,在[mysqld]下加上另兩行。如下所示,注意,一般情況下這兩個配置下都含有其他設定,這裡省去了,只需要在這兩個配置的末尾加上如下內容即可,不要刪除之前的配置。
select * from localgo.entity where match(entity_name
,entity_introduction
) against(『程式』 in boolean mode);
MySQL全文檢索中文搜尋
全文檢索概述 檢索基本過程 全文檢索大體分兩個過程,索引建立 indexing 和搜尋索引 search 索引建立 將需要被搜尋的資料提取資訊,建立索引的過程。搜尋索引 就是得到使用者的查詢請求,搜尋建立的索引,然後返回結果的過程。全文檢索的索引建立過程一般有以下幾步 1 準備待索引的原資料 2 將...
使用mysql實現全文檢索功能
檢視系統預設分片規則 預設innodb下 最小分片為3位 空格切分 show variables like ft 檢視預設分配規則建表 建立表 create table test id int 11 unsigned not null auto increment,product name varc...
mysql全文檢索
全文索引在 mysql 中是乙個 fulltext 型別索引。fulltext 索引用於 myisam 表,可以在 create table 時或之後使用 alter table 或 create index 在 char varchar 或 text 列上建立。對於大的資料庫,將資料裝載到乙個沒有...