日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

MySQL下全文索引

系統(tǒng) 2649 0

MySQL下全文索引 – 麥子麥–DBWinds

MySQL下全文索引

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

        alter table tablename add fulltext(column1,column2)
      

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

少于3個字符的單詞不會被包含在全文索引里,可以通過修改my.cnf修改選項

ft_min_word_len=3

重新啟動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三個單詞之一的數(shù)據(jù)記錄查找到,在關(guān)鍵字match后的數(shù)據(jù)列必須跟創(chuàng)建全文索引的數(shù)據(jù)列相同,檢索詞不區(qū)分大小寫和先后順序,少于3個字符的單詞通常被忽略。match… against …表達(dá)式返回一個浮點數(shù)作為它本身的求值結(jié)果,這個數(shù)字反映了結(jié)果記錄與被檢索單詞的匹配程度。如果沒有匹配到任何記錄,或者匹配到的結(jié)果記錄太多反而被忽略,表達(dá)式將返回0,表達(dá)式>0.001的作用是排除match的返回值太小的結(jié)果記錄。

        select *,match(column1,column2) against ('word1 word2 word3') as mtch

from tablename

having mtch>0.01

order by mtch desc

limit 5
      

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

?

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

  • +word:一個前導(dǎo)的加號表示該單詞必須 出現(xiàn)在返回的每一行的開頭位置。
  • -word: 一個前導(dǎo)的減號表示該單詞一定不能出現(xiàn)在任何返回的行中。
  • (無操作符):在默認(rèn)狀態(tài)下(當(dāng)沒有指定 + 或–的情況下),該單詞可有可無,但含有該單詞的行等級較高。這和MATCH() … AGAINST()不使用IN BOOLEAN MODE修改程序時的運作很類似。
  • > <這兩個操作符用來改變一個單詞對賦予某一行的相關(guān)值的影響。 > 操作符增強其影響,而 <操作符則減弱其影響。請參見下面的例子。
  • ( )括號用來將單詞分成子表達(dá)式。括入括號的部分可以被嵌套。
  • ~word:一個前導(dǎo)的代字號用作否定符, 用來否定單詞對該行相關(guān)性的影響。 這對于標(biāo)記“noise(無用信息)”的單詞很有用。包含這類單詞的行較其它行等級低。
  • word* :搜索以word開頭的單詞,只允許出現(xiàn)在單詞的末尾
  • “word1 word” :給定單詞必須出現(xiàn)在數(shù)據(jù)記錄中,先后順序也必須匹配,區(qū)分字母大小寫
        select * from tablename

where match(column1,column2) against ('+word1 +word2 -word3' in boolean mode')
      

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

全文索引的缺陷:

  • 數(shù)據(jù)表越大,全文索引效果好,比較小的數(shù)據(jù)表會返回一些難以理解的結(jié)果。
  • 全文檢索以整個單詞作為匹配對象,單詞變形(加上后綴,復(fù)數(shù)形式),就被認(rèn)為另一個單詞。
  • 只有由字母,數(shù)字,單引號,下劃線構(gòu)成的字符串被認(rèn)為是單詞,帶注音符號的字母仍是字母,像C++不再認(rèn)為是單詞
  • 不區(qū)分大小寫
  • 只能在MyISAM上使用
  • 全文索引創(chuàng)建速度慢,而且對有全文索引的各種數(shù)據(jù)修改操作也慢

MySQL下全文索引


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 吉水县| 错那县| 上饶县| 旬阳县| 丹巴县| 湟中县| 肃宁县| 彭州市| 侯马市| 陇南市| 梅河口市| 济源市| 屯门区| 隆安县| 乐陵市| 上林县| 浦县| 新绛县| 改则县| 喀喇沁旗| 平顶山市| 江华| 福贡县| 梅河口市| 兰坪| 鄱阳县| 烟台市| 思茅市| 卢氏县| 托里县| 冀州市| 高淳县| 华亭县| 乐昌市| 金门县| 白银市| 当涂县| 日土县| 河西区| 岱山县| 甘洛县|