全文本索引 擴充套件索引 布林索引

2021-08-28 10:53:24 字數 1457 閱讀 6019

一般在建立表時啟用全文本搜尋。create table語句接受fulltext子句,它給出被索引列的乙個逗號分隔的列表。

creat table tb(

c1 int not null,

c2 varchar(32) not null,

note_text text null,

primary key(c1),

fulltext(note_text)

)engine=myisam

mysql根據子句fulltext(note_text)的指示對它進行索引。

這裡的fulltext索引單個列,如果需要也可以指定多個列。

不要在匯入資料時使用fulltext,因為更新索引要花時間。

在索引之後,使用兩個函式match()和against()執行全文本搜尋

select note_text from tb 

where match(note_text) against('rabbit')

傳遞給match()的值必須與fulltext()定義中的相同。

如果指定多個列,則必須列出它們

select note_text from tb 

where match(note_text) against('rabbit' with query expansion)

+ 包含,詞必須存在

- 排除,詞必須不出現

> 包含,而且增加等級值

< 包含,且減少等級值

() 把詞組成子表示式(允許這些子表示式作為乙個組被包含、排除、排列等)

~ 取消乙個詞的排序值

* 詞尾的萬用字元

"" 定義乙個短語(與單個詞的列表不一樣,它匹配整個短語以

便包含或排除這個短語)

下面這個搜尋匹配包含詞rabbit和bait的行

select note_text from tb 

where match(note_text) against('+rabbit +bait' in boolean mode)

下面沒有指定操作符,這個搜尋匹配包含rabbit和bait中的至少一 個詞的行。

select note_text from tb 

where match(note_text) against('rabbit bait' in boolean mode)

下面這個搜尋匹配短語rabbit bait而不是匹配兩個詞rabbit和 bait。

select note_text from tb 

where match(note_text) against('"rabbit bait"' in boolean mode)

Python基礎 切片索引 布林索引 花式索引

切片索引 布林索引 花式索引是陣列的三種索引方式,但三者對於原資料的影響是不同的 1 切片索引 切片索引 切片是原結構的 改變切片中的元素 原結構跟著改變 a np.arange 15 reshape 5,3 print a b1 a 2,2 print print b1 b1 0 16 print...

mysql索引三(全文索引)

前面分別介紹了mysql索引一 普通索引 mysql索引二 唯一索引 本文學習mysql全文索引。在mysql中,建立全文索引相對比較簡單。例如 我們有乙個文章表 article 其中有主鍵id id 文章標題 title 文章內容 content 三個字段。現在我們希望能夠在title和conte...

全文索引 非索引字表

在 sql server 2008 中,使用稱為 非索引字表 的物件在資料庫中管理非索引字。非索引字表 是乙個由非索引字組成的列表,這些非索引字在與全文索引關聯時會應用於該索引的全文查詢。可使用下列任一方法建立非索引字表 僅在相容級別為 100 時才支援 create fulltext stopli...