日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 全文本检索的列_Mysql 全文本检索

發布時間:2023/12/10 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 全文本检索的列_Mysql 全文本检索 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

mysql 全文索引

注意 并非所有的引擎都支持 全文檢索

mysql最常用的引擎 INnodb 和 myisam 后者支持全文檢索 前者不支持

創建表的時候指定要檢索列 CREATE TABLE TEST_FULLTEXT(note_id int not null auto_increment,note_text text null, primaty key(note_id),FULLTEXT(note_text) )engine=myisam;

fulltext 索引某個列 fulltext(note_text) ,在某note_text列上建立全文索引

插入數據

然后用 match()指定列 Against()指定詞

如 語句 select * from TEST_FULLTEXT where Match(note_text) Against('hello');

查找note_txt列中含有 hello詞的行 返回的結果為 兩行 note_text

'hello' was said by quester

quster say 'hello' to pp and he try again

- 注意 搜索是不區分大小的 除非使用 BINARY方式

既然這樣 為什么 不用 like語句呢 再來看上面例子 用like實現

select * from TEST_FULLTEXT where note_text like '%hello%';

返回的結果一樣為兩行

note_text

quster say 'hello' to pp and he try again

'hello' was said by quester

看采用全文搜索和like的返回結果 使用全文搜索的返回結果是已經排好序的 而 like的返回結果則沒有

排序主要是針對 hello出現在行的位置

全文結果中 第一個詞 和 第三個詞 like則沒有按順序排

Mysql主要根據等級來進行排序

我們可以采用下面方式查看 表中某一列 在某一個詞的等級 ,繼續用上面的例子 select note_text, Match(note_text) Aginst('hello') as rannk from TEST_FULLTEXT

輸出如下: note_text rank

fhgjkhj 0

fdsf shi jian 0

quster say 'hello' to pp and he try again 1.3454876123454

huijia quba 0

'hello' was said by quester 1.5656454547876

等級的計算 由 mysql 由根據行中詞的數目、唯一詞的數目、整個索引中詞的總數以及包含改詞行的數目計算出來 不包含詞的行的等級 為0 上面的結果中 詞在前面的等級值要高于在后面的

使用查詢擴展

當你想要在note_text 中查找 pp時 從上面知道 只有一行 如果用下面語句 select note_text from test_fulltext where match(note_text) against('pp');

返回結果是 note_text

quster say 'hello' to pp and he try again

如果采用擴展查詢,分為以下三部

1、先根據全文檢索 查找到 所有行 如上面的返回結果 只有一行

2、mysql檢索上面1的所以行,選擇有用的詞

3、mysql再次全文檢索,這一次還需要加上2中選擇出來的有用的詞 作為against中的詞 select note_text from test_fulltext where match(note_text) against('pp' with query expansion);

返回結果 note_text

quster say 'hello' to pp and he try again

'hello' was said by quester

如pp本來有的行中含有 hello 所以hello也作為關鍵字

使用布爾查詢

即使沒有建立fulltext索引也能夠用,但是速度非常慢 沒有50%規則 (參見下 50%規則介紹)

可以用包含特定意義的操作符,如 +、-、"",作用于查詢字符串上。查詢結果不是以相關性排序的。

如語句 select note_text from test_fulltext where match(note_text) against('hello -pp*' IN BOOLEAN MODE );

表示匹配hello但是不包含 pp的行 結果為 note_text

'hello' was said by quester

全文檢索的一些說明 和限制

1、只有MyISAM表支持

2、對大多數的多字節字符集適用,進行全文索引的列必須使用相同的字符集和校驗碼(collation)。

3、表意性語言,如漢語、日語沒有詞分界符(英語用空格隔開每個單詞),全文分析器無法確定一個詞的開始和結尾,所以MySQL中的全文檢索不支持。

4、在自然語言檢索中,只能檢索被全文索引的那些列,如果要對索引的多列進行某一列的檢索,必須對這一列單獨建立全文索引。布爾檢索可以在非索引的列上進行,但會慢一些。

5、against后的參數必須是常量字符串。

6、索引沒有記錄關鍵詞在字符串中的位置,排序算法太單一。

7、如果索引不在內存中,檢索速度會很慢;如果是短語查詢,需要索引和數據都在內存中,否則速度會很慢,所以需要更大的key buffer。索引有碎片時也會很慢,所以需要更頻繁的optimize table操作。

8、全文索引對于insert、update、delete都很慢。如更改100個詞需要進行100次的索引操作而不是1次。

50% 規則 如果一個詞出現在50%以上的行中,那么mysql將他作為一個非用詞忽略 50%規則不適用于布爾查詢

如果行數小于三行 則不返回結果 參考 50%規則

總結

以上是生活随笔為你收集整理的mysql 全文本检索的列_Mysql 全文本检索的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美中文字幕第一页 | 欧美视频在线看 | 国产又粗又硬又黄的视频 | 亚洲图片在线视频 | 午夜剧场福利 | 久久精品人妻一区二区三区 | 成人免费a级片 | 精品福利在线 | 国产18禁黄网站免费观看 | 亚洲精品乱码久久久久久蜜桃麻豆 | 一区二区蜜桃 | 国产日韩视频在线观看 | 国产97色在线 | 日韩 | 性天堂网 | 国产成人一级片 | 色播网址| 有码中文 | 在线观看xxxx | 午夜在线视频免费 | 国产成人av在线 | 午夜视频污 | 女人高潮潮呻吟喷水 | 东北少妇高潮抽搐 | 亚洲AV无码精品国产 | 天天操夜夜操夜夜操 | 精品不卡一区 | 欧美一级视频 | 精品无码在线观看 | 亚洲精品666 | 又黄又爽又刺激的视频 | 免费涩涩视频 | 香蕉成人在线视频 | av男人的天堂在线观看 | 91中文字幕在线视频 | 91精品国产闺蜜国产在线闺蜜 | 国产精品一区二区人人爽 | 国产精品4区 | av在线影音 | 国产91精品看黄网站在线观看 | 综合另类 | 国产精品国产三级国产普通话蜜臀 | 依人久久| 免费看的毛片 | 成年性生交大片免费看 | 超碰97最新 | 最新国产网站 | 黄网站在线观看视频 | a级黄毛片 | 中文字幕一区二区三区免费看 | 欧美精品一区二区蜜臀亚洲 | 亚洲av网址在线 | 欧美日韩国产一区二区三区在线观看 | 亚洲精品一二 | 91在线 | julia一区| 天天操天天干天天 | 午夜伦视频 | 玖草在线视频 | 男生草女生视频 | 西野翔夫の目の前で犯在线 | 日本伦理一区二区三区 | 东京热加勒比无码少妇 | 夜夜狠狠 | 久久人精品 | 性感少妇在线观看 | aaa亚洲 | 亚洲一区二区三区激情 | 好吊视频一区二区 | 朝桐光av一区二区三区 | 精品一性一色一乱农村 | 黄色欧美在线观看 | 久久国产一区 | 亚洲一级电影 | 亚洲精品自拍 | 国产亚洲无码精品 | 亚洲精品久久久久中文字幕二区 | 日韩中文在线播放 | 特黄特色大片免费播放器使用方法 | 成人网站免费观看入口 | www.18av| 伊人96| 火影忍者羞羞漫画 | 国产一区视频网站 | 国产18照片色桃 | 日韩欧美在线观看一区二区 | 四虎在线精品 | 三级黄视频| 小日子的在线观看免费第8集 | 九九免费 | 日韩少妇中文字幕 | 久久爱综合 | 伊人网久久久 | 欧美在线色 | 少妇高潮一区二区三区99欧美 | 爱露出 | 一级免费大片 | 国产精成人 | 538精品在线视频 | 日本色中色 |