全文本搜索
僅在MyISAM引擎中支持全文本搜索
1.創建表時啟用全文本搜索
e.g. CREATE TABLE productnotes
(
note_id int NOT NULL AUTO_INCREMENT,
prod_id char(10) NOT NULL,
note_text text NULL,
PRIMARY KEY(note_id),
FULLTEXT(note_text)
)ENGINE=MyISAM
這里FULLTEXT一個列,也可以指定多個列,用逗號隔開
2.索引之后,使用Match()和Against()執行全文搜索
Match()指定要搜索的列,其值必須與FULLTEXT()定義中的相同
Against()指定要使用的搜索表達式
e.g.SELET note_text FROM productnotes
WHERE Match(note_text) Against('rabbit')
3.查詢擴展,找出相關的結果
e.g.SELET note_text FROM productnotes
WHERE Match(note_text) Against('rabbit' WITH QUERY EXPANSION)
4.布爾文本搜索
全文本布爾操作符
+ 包含,詞必須存在
- 排除,詞必須不出現
> 包含,而且增加等級
< 包含,而且減少等級
() 把詞組成子表達式
~ 取消一個詞的排序值
* 詞尾的通配符
"" 定義一個短語
e.g.
SELECT note_text FROM productnotes
WHERE Match(note_text) Against('heavy -rope*' IN BOOLEAN MODE)
匹配包含heavy但不包含任意以rope開始的詞的行
?
轉載于:https://www.cnblogs.com/zhu-tingting/p/7588233.html
總結
- 上一篇: 一个简单遮罩弹窗效果
- 下一篇: CMMI模型