MySQL 全文搜索支持

原文鏈接:http://www.javaarch.net/jiagoushi/700.htm

從MySQL 4.0以上 myisam引擎就支持了full text search 全文搜索,在一般的小網站或者blog上可以使用這個特性支持搜索。 那麼怎麼使用了,簡單看看:

1.創建一個表,指定支持fulltext的列

CREATE TABLE articles (
    id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
    title VARCHAR(200),
    body TEXT,
    FULLTEXT (title,body)
);
?

2.插入一些數據作爲測試

INSERT INTO articles (title,body) VALUES
    ('MySQL Tutorial','DBMS stands for DataBase ...'),
    ('How To Use MySQL Well','After you went through a ...'),
    ('Optimizing MySQL','In this tutorial we will show ...'),
    ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
    ('MySQL vs. YourSQL','In the following database comparison ...'),
    ('MySQL Security','When configured properly, MySQL ...');
?

3.select查詢fulltext的列

SELECT * FROM articles
    WHERE MATCH (title,body) AGAINST ('database');
查詢結果:

5       MySQL vs. YourSQL        In the following database comparison ...    
1       MySQL Tutorial               DBMS stands forDataBase ...
?

全文查詢中的boolean語句, + -跟普通的搜索引擎語法一樣

SELECT * FROM articles WHERE MATCH (title,body)
     AGAINST ('+MySQL -YourSQL' IN BOOLEAN MODE);
?

innodb不支持fulltext,當然可以使用http://sphinxsearch.com/ sphinx來dump數據庫數據支持全文搜索。


發佈了93 篇原創文章 · 獲贊 10 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章