最近在做項目過程中,需要檢索出附件中內容,通過一些查詢實現了全文檢索功能
1.需要修改mysql配置文件
mysql的配置文件需要修改兩處:
(1).修改中文檢索分詞插件ngram(分詞器在使用中文檢索分詞插件ngram之前,先得在MySQL配置文件裏面設置他的分詞大小(默認是2))
ngram_token_size=2
(2).修改全文檢索的最小許可字符
ft_min_word_len=2
(3)全局變量的兩種設置方法:
1、啓動mysqld命令時
mysqld --ngram_token_size=2
mysqld --ft_min_word_len=2
2、修改MySQL配置文件
[mysqld]
ngram_token_size=2
ft_min_word_len = 2
注:mysql查看配置大小:
show variables like 'ft_min_word_len';
show variables like 'ngram_token_size';
2.添加索引(file市表名,ft_index市索引名稱)
ALTER TABLE file ADD FULLTEXT INDEX ft_index (file_name,file_content) WITH PARSER ngram;
另刪除索引語句爲:DROP INDEX ft_index ON file
3.使用方法
sql測試語句:SELECT * FROM file WHERE MATCH (file_name,file_content) AGAINST ('>一個 兩個*' IN BOOLEAN MODE);
注:在使用過程中,前臺傳遞參數“name”爲多個字,sql使用時會自動分詞,直接使用即可。比如:
SELECT * FROM file
WHERE MATCH (file_name, file_content)
AGAINST (CONCAT('>',#{name,jdbcType=VARCHAR},'*') IN BOOLEAN MODE)