mysql全文索引中文搜尋

2021-07-08 20:27:43 字數 891 閱讀 8052

由於mysql的預設配置是索引的詞的長度是4,所以需要修改mysql的配置檔案my.cnf

在 [mysqld] 位置內加入: 

ft_min_word_len = 2 

其它屬性還有

ft_wordlist_charset = gbk 

ft_wordlist_file = /home/mysql/wordlist-gbk.txt 

ft_stopword_file = /home/mysql/stopwords-gbk.txt

對於這幾個引數解釋一下:

ft_wordlist_charset 表示詞典的字符集, 目前支援良好的有(utf-8, gbk, gb2312, big5) 

ft_wordlist_file 是詞表檔案, 每行包括乙個詞及其詞頻(用若干製表符或空格分開,消岐專用) 

ft_stopword_file 表示過濾掉不索引的詞表, 一行乙個. 

ft_min_word_len 加入索引的詞的最小長度, 預設是 4, 為了支援中文單字故改為 2

對於大的資料庫,將資料裝載到乙個沒有 fulltext 索引的表中,然後再使用 alter table (或 create index) 建立索引,這將是非常快的。將資料裝載到乙個已經有 fulltext 索引的表中,將是非常慢的。

1.使用mysql全文檢索fulltext的先決條件

表的型別必須是myisam

建立全文檢索的字段型別必須是char,varchar,text

2建立全文檢索

在建表中用fulltext關鍵字標識字段,已存在的錶用 alter table (或 create index) 建立索引

create fulltext index index_name on table_name(colum_name);

MySql5 7 全文索引(針對中文搜尋)

關於中文的全文檢索,寫的算是比較完整的,但是具體實現的時候,會有一些問題要解決。mysql語句 這裡的搜尋,使用的是sql語句,不支援hql。如果使用hibernate實體控制的話,需要做些修改 createquery createsqlquery 返回的實體,在還需增加.addentity cla...

MySQL全文檢索中文搜尋

全文檢索概述 檢索基本過程 全文檢索大體分兩個過程,索引建立 indexing 和搜尋索引 search 索引建立 將需要被搜尋的資料提取資訊,建立索引的過程。搜尋索引 就是得到使用者的查詢請求,搜尋建立的索引,然後返回結果的過程。全文檢索的索引建立過程一般有以下幾步 1 準備待索引的原資料 2 將...

sql server 全文搜尋(全文索引)

參考 按照鏈結方式建立全文索引 使用 全文查詢使用全文謂詞 contains 和 freetext 以及全文函式 containstable 和 freetexttable 它們支援複雜的 transact sql 語法,這種語法支援各種形式的查詢詞。若要編寫全文查詢,必須了解何時以及如何使用這些謂...