亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

MySQL 全文索引的原理與缺陷

瀏覽:36日期:2023-10-08 08:34:46

MySQL全文索引一種特殊的索引,它會(huì)把某個(gè)數(shù)據(jù)表的某個(gè)數(shù)據(jù)列出現(xiàn)過(guò)的所有單詞生成一份清單。

alter table tablename add fulltext(column1,column2)

說(shuō)明:

只能在MyISAM數(shù)據(jù)表中創(chuàng)建

全文索引是以空格或標(biāo)點(diǎn)隔開(kāi)才能搜到的,搜中文是搜不到(有專門的應(yīng)用支持中文分詞可以搜中文,但都不理想)

少于3個(gè)字符的單詞不會(huì)被包含在全文索引里,可以通過(guò)修改my.cnf修改選項(xiàng)

ft_min_word_len=3

重新啟動(dòng)MySQL服務(wù)器,用repair table tablename quick 為有關(guān)數(shù)據(jù)表重新生成全文索引

select * from tablename where match(column1,column2) against(’word1 word2 word3’)>0.001

match ... against 把column1,column2數(shù)據(jù)列中至少包含word1,word2,word3三個(gè)單詞之一的數(shù)據(jù)記錄查找到,在關(guān)鍵字match后的數(shù)據(jù)列必須 跟創(chuàng)建全文索引的數(shù)據(jù)列相同,檢索詞不區(qū)分大小寫(xiě)和先后順序,少于3個(gè)字符的單詞通常被忽略。match... against ...表達(dá)式返回一個(gè)浮點(diǎn)數(shù)作為它本身的求值結(jié)果,這個(gè)數(shù)字反映了結(jié)果記錄與被檢索單詞的匹配程度。如果沒(méi)有匹配到任何記錄,或者匹配到的結(jié)果記錄太多反 而被忽略,表達(dá)式將返回0,表達(dá)式>0.001的作用是排除match的返回值太小的結(jié)果記錄。

select *,match(column1,column2) against (’word1 word2 word3’) as mtchfrom tablenamehaving mtch>0.01order by mtch desclimit 5

找出最匹配的5條記錄,在where字句中不能使用假名,所以用having

布爾全文搜索的性能支持以下操作符:

+word:一個(gè)前導(dǎo)的加號(hào)表示該單詞必須 出現(xiàn)在返回的每一行的開(kāi)頭位置。

-word: 一個(gè)前導(dǎo)的減號(hào)表示該單詞一定不能出現(xiàn)在任何返回的行中。

(無(wú)操作符):在默認(rèn)狀態(tài)下(當(dāng)沒(méi)有指定 + 或?的情況下),該單詞可有可無(wú),但含有該單詞的行等級(jí)較高。這和MATCH() ... AGAINST()不使用IN BOOLEAN MODE修改程序時(shí)的運(yùn)作很類似。

> <這兩個(gè)操作符用來(lái)改變一個(gè)單詞對(duì)賦予某一行的相關(guān)值的影響。 > 操作符增強(qiáng)其影響,而 <操作符則減弱其影響。請(qǐng)參見(jiàn)下面的例子。

( )括號(hào)用來(lái)將單詞分成子表達(dá)式。括入括號(hào)的部分可以被嵌套。

~word:一個(gè)前導(dǎo)的代字號(hào)用作否定符, 用來(lái)否定單詞對(duì)該行相關(guān)性的影響。 這對(duì)于標(biāo)記“noise(無(wú)用信息)”的單詞很有用。包含這類單詞的行較其它行等級(jí)低。

word* :搜索以word開(kāi)頭的單詞,只允許出現(xiàn)在單詞的末尾

'word1 word' :給定單詞必須出現(xiàn)在數(shù)據(jù)記錄中,先后順序也必須匹配,區(qū)分字母大小寫(xiě)

select * from tablename where match(column1,column2) against (’+word1 +word2 -word3’ in boolean mode’)

布爾檢索只能返回1或者0,不再返回表示匹配程度的浮點(diǎn)數(shù)

全文索引的缺陷:

1.數(shù)據(jù)表越大,全文索引效果好,比較小的數(shù)據(jù)表會(huì)返回一些難以理解的結(jié)果。

2.全文檢索以整個(gè)單詞作為匹配對(duì)象,單詞變形(加上后綴,復(fù)數(shù)形式),就被認(rèn)為另一個(gè)單詞。

3.只有由字母,數(shù)字,單引號(hào),下劃線構(gòu)成的字符串被認(rèn)為是單詞,帶注音符號(hào)的字母仍是字母,像C++不再認(rèn)為是單詞

4.不區(qū)分大小寫(xiě)

5.只能在MyISAM上使用

6.全文索引創(chuàng)建速度慢,而且對(duì)有全文索引的各種數(shù)據(jù)修改操作也慢

7.不支持中文

以上就是MySQL 全文索引的原理與缺陷的詳細(xì)內(nèi)容,更多關(guān)于MySQL 全文索引的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)
相關(guān)文章:
主站蜘蛛池模板: 国产手机国产手机在线 | 91精品免费久久久久久久久 | 欧美一线免费http | 鸥美性生交xxxxx久久久 | 亚洲国产精品日韩在线观看 | 国产精品国内免费一区二区三区 | 2021国产成人精品久久 | 亚洲图片一区二区 | 国产欧美成人免费观看视频 | a级男女性高爱潮高清试 | 久草在线青青草 | 完整日本特级毛片 | 久久久久久网站 | 亚洲欧美日韩一区 | 国产手机在线国内精品 | 亚洲午夜精品一区二区 | 精品欧美一区视频在线观看 | 久久精品国产国产 | 免费 成年人 | 亚洲一区二区免费看 | 1717she国产精品免费视频 | 高清在线精品一区二区 | 国产精品一级视频 | 亚洲三级毛片 | 成年人免费小视频 | 免费一级毛片视频 | 中文字幕s级优女区 | 免费永久在线观看黄网 | 中文字幕二区 | 国产精品福利午夜一级毛片 | 中文字幕在线视频网站 | 欧美大片一级毛片 | 久久亚洲精品中文字幕第一区 | 欧美在线一级毛片观看 | 日本一级毛片中文字幕 | 亚洲国产99在线精品一区二区 | 一级毛片免费视频网站 | 精品视频一区二区三区在线观看 | 国产亚洲精品aaa大片 | 成人免费真人毛片视频 | 国产精品久久永久免费 |