Rumah pangkalan data tutorial mysql mysql全文索引_MySQL

mysql全文索引_MySQL

Jun 01, 2016 pm 01:34 PM
mysql bagaimana teknologi Baidu

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
Salin selepas log masuk

查看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');
Salin selepas log masuk

搜索`char`字段 'a' 值

SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('a')
Salin selepas log masuk

但是你会发现查询无结果?!

这时你也许会想:哎呀怎么回事,我明明按照步骤来做的啊,是不是那里漏了或者错了?

你不要着急,做程序是这样的,出错总是有的,静下心来,着急是不能解决问题的。

 

如果一个关键词在50%的数据出现,那么这个词会被当做无效词。

如果你想去除50%的现在请使用IN BOOLEAN MODE搜索

SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('a' IN BOOLEAN MODE)
Salin selepas log masuk

这样就可以查询出结果了,但是我们不推荐使用。

全文索引的搜索模式的介绍自行百度。

 

我们先加入几条无用数据已解除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');
Salin selepas log masuk

这时你执行以下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');
Salin selepas log masuk

以下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');
Salin selepas log masuk

 

如果搜索多个词,请用空格或者逗号隔开

SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('a x');SELECT * FROM `temp` WHERE MATCH(`char`) AGAINST ('a,x');
Salin selepas log masuk

 

上面的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);
Salin selepas log masuk

 

如果安装未成功,请参照官方说明文档

 

这样我们就可以使用全文索引技术了。

bitsCN.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

DeepSeek Web Versi Pintu Masuk Laman Web Rasmi DeepSeek DeepSeek Web Versi Pintu Masuk Laman Web Rasmi DeepSeek Feb 19, 2025 pm 04:54 PM

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.

Bagaimana untuk membetulkan ralat mysql_native_password tidak dimuatkan pada MySQL 8.4 Bagaimana untuk membetulkan ralat mysql_native_password tidak dimuatkan pada MySQL 8.4 Dec 09, 2024 am 11:42 AM

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

cadangan alat ai cadangan alat ai Nov 29, 2024 am 11:08 AM

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.

Satu lagi produk kebangsaan dari Baidu disambungkan ke Deepseek. Satu lagi produk kebangsaan dari Baidu disambungkan ke Deepseek. Mar 12, 2025 pm 01:48 PM

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"

Apakah alat AI? Apakah alat AI? Nov 29, 2024 am 11:11 AM

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

Laman Web Rasmi Gate.io Sesame Open Door Exchange Laman Web Rasmi Gate.io Sesame Open Door Exchange Feb 28, 2025 am 10:48 AM

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

Portal pendaftaran terkini untuk laman web rasmi OUYI Portal pendaftaran terkini untuk laman web rasmi OUYI Mar 21, 2025 pm 05:54 PM

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.

Laman web rasmi OUYI OUYI OKX Pautan Masuk Rasmi Laman web rasmi OUYI OUYI OKX Pautan Masuk Rasmi Mar 21, 2025 pm 06:15 PM

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.

See all articles