我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql全文搜索fulltext

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql全文搜索fulltext

mysql> select * from t2;
+------+------+----------------------------+
| a    | b    | c                          |
+------+------+----------------------------+
|    1 | aa   | aa11111111111111111111111  |
|    2 | bb   | bb222222222222222222222222 |
+------+------+----------------------------+
2 rows in set (0.00 sec)


mysql> 


--此处测试字符少于4个并且数据只有2行,搜索不到任何记录
mysql> select match(c) against('bb') from t2;
+------------------------+
| match(c) against('bb') |
+------------------------+
|                      0 |
|                      0 |
+------------------------+
2 rows in set (0.00 sec)


mysql> insert into t2 values(3,'bb cc','cc33333333333333333');
Query OK, 1 row affected (0.00 sec)


mysql> commit;
Query OK, 0 rows affected (0.00 sec)


mysql> select match(b) against('bb') from t2;
+------------------------+
| match(b) against('bb') |
+------------------------+
|                      0 |
|                      0 |
|                      0 |
+------------------------+
3 rows in set (0.00 sec)


mysql> 
mysql> 
mysql> 
mysql> insert into t2 values(4,'dd','dd33333333333333333');
Query OK, 1 row affected (0.00 sec)


mysql> insert into t2 values(5,'ee','ee33333333333333333');
Query OK, 1 row affected (0.00 sec)


mysql> insert into t2 values(6,'ff','ff33333333333333333');
Query OK, 1 row affected (0.00 sec)


mysql> insert into t2 values(7,'g','gg33333333333333333');
Query OK, 1 row affected (0.00 sec)


mysql> insert into t2 values(8,'h','hh43333333333333333');
Query OK, 1 row affected (0.00 sec)


mysql> insert into t2 values(9,'ii','ii33333333333333333');
Query OK, 1 row affected (0.00 sec)


mysql> insert into t2 values(10,'jj','jj33333333333333333');
Query OK, 1 row affected (0.00 sec)


mysql> 
mysql> 
mysql> commit;
Query OK, 0 rows affected (0.00 sec)


mysql> select match(b) against('bb') from t2;
+------------------------+
| match(b) against('bb') |
+------------------------+
|                      0 |
|                      0 |
|                      0 |
|                      0 |
|                      0 |
|                      0 |
|                      0 |
|                      0 |
|                      0 |
|                      0 |
+------------------------+
10 rows in set (0.00 sec)


--大于4个字符可以搜索出来
mysql> insert into t2 values(10,'kkkkkwq','kkkkk adfsdf');
Query OK, 1 row affected (0.00 sec)


mysql> select match(c) against('kkkkk') from t2;
+---------------------------+
| match(c) against('kkkkk') |
+---------------------------+
|                         0 |
|                         0 |
|                         0 |
|                         0 |
|                         0 |
|                         0 |
|                         0 |
|                         0 |
|                         0 |
|                         0 |
|        2.2508163452148438 |
+---------------------------+
11 rows in set (0.00 sec)


mysql> select * from t2 where match(c) against('kkkkk');
+------+---------+--------------+
| a    | b       | c            |
+------+---------+--------------+
|   10 | kkkkkwq | kkkkk adfsdf |
+------+---------+--------------+
1 row in set (0.00 sec)


mysql> select * from t2 where match(b) against('kkkkk');
Empty set (0.01 sec)


mysql> update t2 set b='kkkkk' where a=10;
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2  Changed: 2  Warnings: 0


mysql> select * from t2 where match(b) against('kkkkk');
+------+-------+---------------------+
| a    | b     | c                   |
+------+-------+---------------------+
|   10 | kkkkk | jj33333333333333333 |
|   10 | kkkkk | kkkkk adfsdf        |
+------+-------+---------------------+
2 rows in set (0.00 sec)


--默认自然语言,搜索结果按相关度排序,此处查询结果为相关度
mysql> select b,match(b) against('kkkkk') from t2;
+-------+---------------------------+
| b     | match(b) against('kkkkk') |
+-------+---------------------------+
| aa    |                         0 |
| bb    |                         0 |
| bb cc |                         0 |
| dd    |                         0 |
| ee    |                         0 |
| ff    |                         0 |
| g     |                         0 |
| h     |                         0 |
| ii    |                         0 |
| kkkkk |         1.486977219581604 |
| kkkkk |         1.486977219581604 |
+-------+---------------------------+
11 rows in set (0.00 sec)


mysql> select * from t2 where match(b) against('kkkkk');
+------+-------+---------------------+
| a    | b     | c                   |
+------+-------+---------------------+
|   10 | kkkkk | jj33333333333333333 |
|   10 | kkkkk | kkkkk adfsdf        |
+------+-------+---------------------+
2 rows in set (0.00 sec)


--自然语言搜索
mysql> select * from t2 where match(b) against('kkkkk' in natural language mode);
+------+-------+---------------------+
| a    | b     | c                   |
+------+-------+---------------------+
|   10 | kkkkk | jj33333333333333333 |
|   10 | kkkkk | kkkkk adfsdf        |
+------+-------+---------------------+
2 rows in set (0.00 sec)


--布尔型搜索
mysql> select * from t2 where match(b) against('kkkkk' in boolean mode);
+------+-------+---------------------+
| a    | b     | c                   |
+------+-------+---------------------+
|   10 | kkkkk | jj33333333333333333 |
|   10 | kkkkk | kkkkk adfsdf        |
+------+-------+---------------------+
2 rows in set (0.01 sec)


--布尔型只包括1和0
mysql> select b,match(b) against('kkkkk' in boolean mode) from t2;
+-------+-------------------------------------------+
| b     | match(b) against('kkkkk' in boolean mode) |
+-------+-------------------------------------------+
| aa    |                                         0 |
| bb    |                                         0 |
| bb cc |                                         0 |
| dd    |                                         0 |
| ee    |                                         0 |
| ff    |                                         0 |
| g     |                                         0 |
| h     |                                         0 |
| ii    |                                         0 |
| kkkkk |                                         1 |
| kkkkk |                                         1 |
+-------+-------------------------------------------+
11 rows in set (0.00 sec)


mysql> 


--多列搜索同一单词为 match(col1,col2) against('word'),
--一列搜索多个单词,match(col) against('word1 word2')
--布尔型搜索与自然语言搜索区别:1,自然按相关度排序,布尔不是,2,对于布尔型搜索,50%规则不起作用
--布尔型两个功能,against里(即搜索的单词)可有+ -号,+表示有。-表示没有,比如 +word1 -word2表示有单词word1但没有word2
--全文搜索参数,ft_min_word_len和ft_max_word_len,搜索单词的最小长度和最大长度

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql全文搜索fulltext

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL也可以实现分词搜索(FULLTEXT)

FULLTEXT 以前使用查找时都是以 %关键字% 进行模糊查询结果的,这种查询方式有一些缺点,比如不能查询多个列必须手动添加条件以实现,效率不高等 现在有一种新的查找方式可以解决以上问题,就是使用全文索引进行查找 注意:并非所有存储引擎都
2023-08-22

SQL Server 全文搜索/全文索引

全文引擎使用全文索引中的信息来编译可快速搜索表中的特定词或词组的全文查询。全文索引将有关重要的词及其位置的信息存储在数据库表的一列或多列中。全文索引是一种特殊类型的基于标记的功能性索引,它是由 SQL Server 全文引擎生成和维护的。生成全文索引的过程不同
SQL Server 全文搜索/全文索引
2014-12-30

mysql+mybatis下全文搜索怎么用

这篇文章给大家分享的是有关mysql+mybatis下全文搜索怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。第一步在你的需要全文搜索的列上点击 全文搜索full text类型索引,注意我的例子是该列是个lo
2023-06-29

【MySQL】不允许你不会全文本搜索

🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 🏅 欢迎点赞 👍
2023-08-16

MySQL中如何执行全文搜索操作

在MySQL中执行全文搜索操作,通常使用全文搜索引擎或全文索引来提高搜索性能和准确性。以下是在MySQL中执行全文搜索操作的一般步骤:1、创建全文索引:首先需要在需要进行全文搜索的表中创建全文索引。可以使用ALTER TABLE语句来添加
MySQL中如何执行全文搜索操作
2024-04-09

Cassandra怎么全文搜索数据

要在Cassandra中进行全文搜索数据,您需要使用外部搜索引擎或插件,如Elasticsearch。Elasticsearch是一个开源的全文搜索引擎,与Cassandra集成可以提供强大的搜索功能。以下是在Cassandra中进行全文
Cassandra怎么全文搜索数据
2024-05-11

MySQL 中MATCH 全文搜索关键字示例详解

MATCH()函数是mysql中专门用于全文搜索的函数。该函数的作用是在一个文本列上执行全文搜索,并且返回一个匹配度的得分。MATCH()函数可以接收一个或多个搜索词,可以支持Boolean、Natural Language和Query E
2023-09-26

postgres 中文全文分词搜索实例

Dockerfile# If you don‘t want to build it youself, you can try `docker pull killercai/postgres`.FROM healthcheck/postgres:latest#
postgres 中文全文分词搜索实例
2019-06-25

全文搜索Sphinx怎么实现

本篇内容介绍了“全文搜索Sphinx怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.Sphinx简介1.1.Sphinx是什么Sp
2023-06-04

编程热搜

目录