在MySQL中實現分詞查詢就需要使用全文本索引,有幾種方式可以實現全文本索引:
1. 利用MySQL自帶的MyISAM引擎,創建FULLTEXT類型的索引 2. 利用第三方插件,如Sphinx、Elasticsearch等
在這里我們用第一種方法來實現分詞查詢。
1. 首先需要使用MyISAM引擎創建FULLTEXT類型的索引 CREATE TABLE `table_name` ( `id` int(11) NOT NULL AUTO_INCREMENT, `content` text NOT NULL, PRIMARY KEY (`id`), FULLTEXT KEY `content_index` (`content`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 2. 在查詢時使用MATCH AGAINST語句 SELECT * FROM `table_name` WHERE MATCH (`content`) AGAINST ('keyword1 keyword2' IN BOOLEAN MODE);
在以上代碼中,'keyword1 keyword2'是查詢的關鍵詞,多個關鍵詞之間使用空格隔開。MATCH AGAINST語句默認是使用自然語言模式,但是自然語言模式對于中文的分詞效果并不理想,因此我們可以使用BOOLEAN MODE模式來進行分詞查詢。
下一篇css表格中的合并兩列