iT邦幫忙

0

MySQL/MariaDB innodb 全文檢索

  • 分享至 

  • xImage

大家好,
目前使用的資料庫是 MariaDB 5.5 ,
使用中的引擎是 innodb,

想請教,
如果要做全文檢索的話,
在不升級資料庫&不更改引擎的前提下,
有什麼辦法可以做嗎?

PS:
若是更改引擎,有沒有什麼風險? e.g. 資料遺失?損壞?...etc.

以上,謝謝大家。

鄭小安 iT邦新手 5 級 ‧ 2016-10-18 20:13:12 檢舉
想知道
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
wiseguy
iT邦超人 1 級 ‧ 2016-10-19 10:24:19
最佳解答

如果你是要做中文的全文檢索,不用想了,直接放棄。因為:

  1. 全文檢索必須要有分割字元,在英文是空白、標點、虛字。但中文沒有空白當字詞分割,這一點就完全讓 InnoDB 的全文檢索失效。
  2. 全文檢索是以相似度來判定。跟你用 link 語法的結果不一樣。通常我們打個 "網路" 來搜尋,是想找到有 "網路" 這兩個字的文章。但在全文檢索中,除非字詞分割剛好有割到 "網路" 兩個字,否則比如一整篇文章有這樣一句話 "時下的網際網路已經日新月異" ,進入全文檢索後,是找不出來的。因為理由在第 1 點。你只能用 like '%網路%' 才找得到。

目前想用全文檢索的話,請考慮 Lucene 之類的。

tzuchin iT邦新手 5 級 ‧ 2016-10-19 15:12:37 檢舉

感謝說明,
嗯..是想做中文的全文檢索沒錯,
您的說明很清楚,謝謝。

另外想請教,
MyISAM的全文檢索 也是跟 InnoDB的全文檢索 是如您所說的一樣概念嗎?

wiseguy iT邦超人 1 級 ‧ 2016-10-24 16:23:13 檢舉

是的

我要發表回答

立即登入回答