MySQL8 全文索引的實(shí)現(xiàn)方法
創(chuàng)建索引
之前未嘗試過(guò)使用MySQL8的全文索引,今天試一試看看什么效果,否則跟不上時(shí)代了都。
創(chuàng)建索引非常簡(jiǎn)單,寫(xiě)句SQL就行。
create table goods(
id integer primary key auto_increment,
name varchar(255) comment '名稱',
description text comment '描述',
FULLTEXT idx(description)
) comment '商品';
全文索引一建,一系列的索引表就會(huì)自動(dòng)創(chuàng)建,這里可以按MySQL官方的做法去查一查:
select TABLE_ID, NAME, SPACE from information_schema.INNODB_TABLES where NAME like 'study/%';

使用索引
現(xiàn)在開(kāi)始,可以插入數(shù)據(jù)試試索引的使用了。
INSERT INTO study.goods (name, description) VALUES ('蘭蔻塑顏緊致百肽面霜', '蘭蔻塑顏緊致百肽面霜75ml保濕護(hù)膚品套裝 禮盒生日禮物送女友送媽媽')
全文索引的使用不是LIKE關(guān)鍵字,而是MATCH關(guān)鍵字,而且拆分規(guī)則是空格鍵拆分。比如我下面的查詢語(yǔ)句是可以查到內(nèi)容的:
select * from goods where match(description) against('禮盒生日禮物送女友送媽媽');
但是如果我使用生日禮物就查詢不到內(nèi)容了,如:
select * from goods where match(description) against('禮盒生日禮物');
這樣的查詢結(jié)果就是空的了。
所以MySQL8的全文索引對(duì)中文的支持并不太好。
總結(jié)
MySQL8的全文索引,英文程序用用還是可以的,但是中文項(xiàng)目就算了吧,不能自己定義分詞器,只能配置個(gè)停用詞stopword,反正我在項(xiàng)目中是不會(huì)使用的。
到此這篇關(guān)于MySQL8 全文索引的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)MySQL8 全文索引內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
將舊版MySQL替換為8.0及以上版本保姆級(jí)教學(xué)
在部署項(xiàng)目的時(shí)候MySQL就會(huì)報(bào)錯(cuò),這個(gè)時(shí)候就要換MySQL的版本了,這篇文章主要給大家介紹了關(guān)于將舊版MySQL替換為8.0及以上版本的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05
mysql ERROR 1044 (42000): Access denied for user ''''@''loca
這篇文章主要介紹了mysql下提示ERROR 1044 (42000): Access denied for user ''@'localhost' to database,需要的朋友可以參考下2015-09-09
MySQL的主從復(fù)制步驟詳解及常見(jiàn)錯(cuò)誤解決方法
這篇文章主要介紹了MySQL的主從復(fù)制步驟詳解及常見(jiàn)錯(cuò)誤解決方法,文中主張同步時(shí)跳過(guò)臨時(shí)錯(cuò)誤,并對(duì)Slave_IO_Running: No錯(cuò)誤的解決給出了方案,需要的朋友可以參考下2016-02-02
mysql.help_topic生成序列的方法實(shí)現(xiàn)
本文探討了如何使用MySQL的help_topic表生成序列,并介紹了相應(yīng)的SQL查詢語(yǔ)句和實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10

