mysql全文索引_MySQL
bitsCN.com
前言:本文简单讲述全文索引的应用实例,MYSQL演示版本5.5.24。
Q:全文索引适用于什么场合?
A:全文索引是目前实现大数据搜索的关键技术。
至于更详细的介绍请自行百度,本文不再阐述。
一、如何设置?
如图点击结尾处的{全文搜索}即可设置全文索引,不同MYSQL版本名字可能不同。
二、设置条件
1.表的存储引擎是MyISAM,默认存储引擎InnoDB不支持全文索引(新版本MYSQL5.6的InnoDB支持全文索引)
2.字段类型:char、varchar和text
三、配置
my.ini配置文件中添加
# MySQL全文索引查询关键词最小长度限制
[mysqld]
ft_min_word_len = 1
保存后重启MYSQL,执行SQL语句
SHOW VARIABLES
查看ft_min_word_len是否设置成功,如果没设置成功请确保
1.确认my.ini正确配置,注意不要搞错my.ini的位置
2.确认mysql已经重启,实在不行重启电脑
其他相关配置请自行百度。
注:重新设置配置后,已经设置的索引需要重新设置生成索引
四、SQL语法
首先生成temp表
CREATE TABLE IF NOT EXISTS `temp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `char` char(50) NOT NULL, `varchar` varchar(50) NOT NULL, `text` text NOT NULL, PRIMARY KEY (`id`), FULLTEXT KEY `char` (`char`), FULLTEXT KEY `varchar` (`varchar`), FULLTEXT KEY `text` (`text`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;INSERT INTO `temp` (`id`, `char`, `varchar`, `text`) VALUES(1, 'a bc 我 知道 1 23', 'a bc 我 知道 1 23', 'a bc 我 知道 1 23');
搜索`char`字段 'a' 值
SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('a')
但是你会发现查询无结果?!
这时你也许会想:哎呀怎么回事,我明明按照步骤来做的啊,是不是那里漏了或者错了?
你不要着急,做程序是这样的,出错总是有的,静下心来,着急是不能解决问题的。
如果一个关键词在50%的数据出现,那么这个词会被当做无效词。
如果你想去除50%的现在请使用IN BOOLEAN MODE搜索
SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('a' IN BOOLEAN MODE)
这样就可以查询出结果了,但是我们不推荐使用。
全文索引的搜索模式的介绍自行百度。
我们先加入几条无用数据已解除50%限制
INSERT INTO `temp` (`id` ,`char` ,`varchar` ,`text`)VALUES (NULL , '7', '7', '7'), (NULL , '7', '7', '7'), (NULL , 'a,bc,我,知道,1,23', 'a,bc,我,知道,1,23', 'a,bc,我,知道,1,23'), (NULL , 'x', 'x', 'x');
这时你执行以下SQL语句都可以查询到数据
SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('a');SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('bc');SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('我');SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('知道');SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('1');SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('23');
以下SQL搜索不到数据
SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('b');SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('c');SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('知');SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('道');SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('2');SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('3');
如果搜索多个词,请用空格或者逗号隔开
SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('a x');SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('a,x');
上面的SQL都可以查询到三条数据
五、分词
看到这里你应该发现我们字段里的值也是分词,不能直接插入原始数据。
全文索引应用流程:
1.接收数据-数据分词-入库
2.接收数据-数据分词-查询
现在有个重要的问题:怎么对数据分词?
数据分词一般我们会使用一些成熟免费的分词系统,当然如果你有能力也可以自己做分词系统,这里我们推荐使用SCWS分词插件。
首先下载
1.php_scws.dll 注意对于版本
2.XDB词典文件
3.规则集文件
下载地址
安装scws
1.先建一个文件夹,位置不限,但是最好不要中文路径。
2.解压{规则集文件},把xdb、三个INI文件全部扔到 D:/scws
3.把php_scws.dll复制到你的PHP目录下的EXT文件夹里面
4.在 php.ini 的末尾加入以下几行:
[scws]
;
; 注意请检查 php.ini 中的 extension_dir 的设定值是否正确, 否则请将 extension_dir 设为空,
; 再把 php_scws.dll 指定为绝对路径。
;
extension = php_scws.dll
scws.default.charset = utf8
scws.default.fpath = "D:/scws"
5.重启你的服务器
测试
$str="测试中文分词";$so = scws_new();$so->send_text($str);$temp=$so->get_result();$so->close();var_dump($temp);
如果安装未成功,请参照官方说明文档
这样我们就可以使用全文索引技术了。
bitsCN.com
Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

DeepSeek adalah alat carian dan analisis pintar yang kuat yang menyediakan dua kaedah akses: versi web dan laman web rasmi. Versi web adalah mudah dan cekap, dan boleh digunakan tanpa pemasangan; Sama ada individu atau pengguna korporat, mereka dapat dengan mudah mendapatkan dan menganalisis data besar-besaran melalui DeepSeek untuk meningkatkan kecekapan kerja, membantu membuat keputusan dan menggalakkan inovasi.

Salah satu perubahan utama yang diperkenalkan dalam MySQL 8.4 (keluaran LTS terkini pada 2024) ialah pemalam "Kata Laluan Asli MySQL" tidak lagi didayakan secara lalai. Selanjutnya, MySQL 9.0 mengalih keluar pemalam ini sepenuhnya. Perubahan ini mempengaruhi PHP dan apl lain

Artikel ini memperkenalkan enam alatan AI yang popular, termasuk Douyin Doubao, Wenxin Yige, Tencent Zhiying, Baidu Feipiao EasyDL, Baidu AI Studio dan iFlytek Spark Cognitive Large Model. Alat ini merangkumi fungsi yang berbeza seperti penciptaan teks, penjanaan imej, penyuntingan video dan pembangunan model AI. Memilih alat AI yang betul memerlukan pertimbangan faktor seperti keperluan fungsi, tahap teknikal dan belanjawan kos. Alat ini menyediakan penyelesaian yang mudah dan cekap untuk individu dan perniagaan yang memerlukan bantuan AI.

DeepSeek-R1 memberi kuasa kepada Perpustakaan Baidu dan Netdisk: Integrasi Perfaikan dan Tindakan yang sempurna telah diintegrasikan dengan cepat ke dalam banyak platform dalam masa satu bulan sahaja. Dengan susun atur strategik yang berani, Baidu mengintegrasikan Deepseek sebagai rakan model pihak ketiga dan mengintegrasikannya ke dalam ekosistemnya, yang menandakan kemajuan besar dalam strategi ekologi "carian model besar". Platform Pintar Pintar Wenxin dan Wenxin adalah yang pertama menyambung ke fungsi carian Deep dari model besar DeepSeek dan Wenxin, yang menyediakan pengguna dengan pengalaman carian AI percuma. Pada masa yang sama, slogan klasik "Anda Akan Tahu Apabila Anda Pergi ke Baidu", dan versi baru aplikasi Baidu juga mengintegrasikan keupayaan model besar Wenxin dan Deepseek, melancarkan "AI Search" dan "Refinement Rangkaian Wide Rangkaian"

Alat AI termasuk: Doubao, ChatGPT, Gemini, BlenderBot, dll.

Exchange Gate.io (Wijen Open Door) tidak mempunyai URL tetap, dan kaedah aksesnya berbeza mengikut rantau dan laluan.

Sebagai platform perdagangan aset digital terkemuka di dunia, Ouyi Okx menarik banyak pelabur dengan produk dagangannya yang kaya, jaminan keselamatan yang kuat dan pengalaman pengguna yang mudah. Walau bagaimanapun, risiko keselamatan rangkaian menjadi semakin teruk, dan bagaimana untuk mendaftarkan akaun OUYI OKX rasmi adalah penting. Artikel ini akan menyediakan portal pendaftaran terkini untuk laman web rasmi OUYI OKX, dan menerangkan secara terperinci langkah-langkah dan langkah berjaga-jaga untuk pendaftaran yang selamat, termasuk cara mengenal pasti laman web rasmi, menetapkan kata laluan yang kuat, membolehkan pengesahan dua faktor, dan lain-lain, untuk membantu anda memulakan perjalanan pelaburan aset digital anda dengan selamat dan mudah. Sila ambil perhatian bahawa terdapat risiko dalam pelaburan aset digital, sila buat keputusan berhati -hati.

Dengan peningkatan populariti perdagangan cryptocurrency, adalah penting untuk memilih platform perdagangan yang selamat dan boleh dipercayai. Sebagai platform perdagangan aset digital terkemuka di dunia, Ouyi Okx sangat disukai untuk keselamatan yang tinggi, produk perdagangan yang kaya, kecairan yang baik dan pengalaman pengguna. Walau bagaimanapun, Internet penuh dengan maklumat palsu, dan ramai pengguna mengalami kesukaran mengenal pasti laman web rasmi OUYI Okx. Artikel ini akan membimbing anda bagaimana untuk mengakses platform rasmi OUYI OKX dengan selamat dan cepat, elakkan secara tidak sengaja memasuki laman web phishing, dan memastikan keselamatan aset digital anda. Kami akan memperkenalkan pelbagai kaedah seperti enjin carian, laman web pihak ketiga, media sosial rasmi, dan aplikasi rasmi untuk mencari pautan portal rasmi, dan menyediakan tip keselamatan yang penting untuk membantu anda menjalankan urus niaga cryptocurrency yang selamat dan boleh dipercayai di platform OUYI OKX.
