mysql 全文尋找fulltext

來源:互聯網
上載者:User

標籤:style   color   ar   使用   for   sp   strong   檔案   資料   

從 Mysql 4.0 開始就支援全文索引功能,但是 Mysql 預設的最小索引長度是 4。如果是英文預設值是比較合理的,但是中文絕大部分詞都是2個字元,這就導致小於4個字的詞都不能被索引,全文索引功能就形同虛設了。國內的空間商大部分可能並沒有注意到這個問題,沒有修改 Mysql 的預設設定。

      為什麼要用全文索引呢?

      一般的資料庫搜尋都是用的SQL的 like 語句,like 語句是不能利用索引的,每次查詢都是從第一條遍曆至最後一條,查詢效率極其低下。一般資料超過10萬或者線上人數過多,like查詢都會導致資料庫崩潰。這也就是為什麼很多程式都只提供標題搜尋的原因了,因為如果搜尋內容,那就更慢了,幾萬資料就跑不動了。

     Mysql 全文索引是專門為瞭解決模糊查詢提供的,可以對整篇文章預先按照詞進行索引,搜尋效率高,能夠支援百萬級的資料檢索。

     如果您使用的是自己的伺服器,請馬上進行設定,不要浪費了這個功能。

     如果您使用的是虛擬機器主機,請馬上聯絡空間商修改配置。首先,Mysql 的這個預設值對於中文來說就是一個錯誤的設定,修改設定等於糾正了錯誤。其次,這個配置修改很簡單,也就是幾分鐘的事情,而且搜尋效率提高也降低了空間商資料庫宕掉的幾率。如果你把本篇文章發給空間商,我相信絕大部分都會願意改的。

    設定方法:

    請聯絡伺服器管理員修改 my.ini (Linux 下是 my.cnf ) ,在 [mysqld] 後面加入一行“ft_min_word_len=1”,然後重啟Mysql,再登入網站後台(模組管理->全站搜尋)重建全文索引,否則將無法使用全站搜尋功能。

For 5.5

# MySQL全文索引查詢關鍵詞最小長度限制

ft_min_word_len

影響索引的全文變數 (ft_min_word_len、 ft_max_word_len或ft_stopword_file),或假如你改變了禁用詞檔案本身,則你必須在改變和重新啟動伺服器後重建你的 FULLTEXT索引。這時,要重建索引, 只需進行一個QUICK 修理操作: 

mysql> REPAIR TABLE tbl_name QUICK;  #重建索引

 

# MySQL全文索引查詢關鍵詞最小長度限制

For 5.6

innodb_ft_min_token_size

mysql 全文尋找fulltext

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.