MySQL中的全文索引

2021-12-30 01:02:11 字數 1086 閱讀 5543

現在將mysql全文索引的配置過程記錄一下。

step1:建立student表

create table `student` (

`id` int(11) not null auto_increment,

`studentname` varchar(16) not null,

`address` varchar(256) default '北京',

`gender` tinyint(4) not null,

`mymoney` decimal(18,2) default null,

primary key (`id`),

fulltext key `studentname` (`studentname`)

) engine=myisam charset=utf8

step2:插入測試資料

insert into `xsh`.`student`

(`studentname`,

`address`,

`gender`,

`mymoney`)

values (

'happy love happy',

'北京',

1,1);

step3:修改my.ini檔案,重啟服務

my.ini (linux 下是 my.cnf ) ,在 [mysqld] 後面加入一行「ft_min_word_len=1」,然後重啟mysql

可以通過show  variables like 'ft_min_word_len'檢視結果

step4:忽略權重查詢(表中只有一條資料)

mysql預設的閥值是50%,上面『you』在每個文件都出現,因此是100%,只有低於50%的才會出現在結果集中。  但是如果不考慮權重,那麼該怎麼辦呢?mysql提供了布林全文檢索(boolean fulltext search)

select * from student

where match(studentname) against('love'  in boolean mode)

這裡只做乙個簡單記錄,因為全文索引的基礎是分詞,但是mysql不支援中文。需要通過外掛程式或者其他手段實現@!

mysql全文索引的坑 MySQL全文索引問題

我有乙個包含以下資料的 文章 mysql select from articles id title body 1 mysql tutorial dbms stands for database 2 how to use mysql well after you went through a 3 o...

mysql全文索引

了解 solr 之後 發現全文索引也能做檢索 故了解了下 筆記如下 建立全文索引 alter table table add fulltext index fulltext table 列1 列2 查詢方式 select from table where match 列1 列2 against 查詢...

mysql全文索引

舊版的mysql的全文索引只能用在myisam 的char varchar和text的字段上。不過新版的mysql5.6.24上innodb引擎也加入了全文索引,所以具體資訊要隨時關注官網,create table article id int auto increment not null pri...