全文本搜索

僅在MyISAM引擎中支持全文本搜索spa

1.建立表時啓用全文本搜索排序

e.g. CREATE TABLE productnotes索引

(it

  note_id  int   NOT NULL AUTO_INCREMENT,擴展

  prod_id  char(10)  NOT NULL,搜索

  note_text  text  NULL,查詢

  PRIMARY KEY(note_id),co

  FULLTEXT(note_text)ab

)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開始的詞的行

相關文章
相關標籤/搜索