mysql實現全文檢索(mysql自帶)

最近在做項目過程中,需要檢索出附件中內容,通過一些查詢實現了全文檢索功能

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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章