彩票走势图

Navicat使用教程:如何在MySQL中执行全文搜索(第二篇)

翻译|使用教程|编辑:鲍佳佳|2020-07-10 11:44:24.987|阅读 330 次

概述:在第1部分中,我们了解了MySQL如何通过FULLTEXT索引以及三种不同类型的全文搜索提供全文搜索功能。 在今天的博客中,我们将学习如何在Navicat for MySQL中用自然语言进行全文搜索。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

Navicat for MySQL是管理和开发 MySQL 或 MariaDB 的理想解决方案。它是一套单一的应用程序,能同时连接 MySQL 和 MariaDB 数据库,并与 Amazon RDS、Amazon Aurora、Oracle Cloud、Microsoft Azure、阿里云、腾讯云和华为云等云数据库兼容。

点击下载Navicat for MySQL最新试用版

自然语言全文搜索的定义

自然语言全文搜索的逻辑是寻找与自然人类语言查询相关的文档(行),例如“自然语言全文搜索如何工作?”。 如果你曾经使用过像Google这样的搜索引擎,它就是这样工作的!

使用零加正浮点数确定相关性,其中零表示没有相似性。 相关性可以基于各种因素,包括文档中词汇的数量,文档中唯一词汇的数量,集合中词汇的总数以及包含特定词汇的文档(行)的数量。

MySQL自然语言全文搜索示例
在MySQL中,使用MATCH()和AGAINST()函数进行自然语言全文搜索。 MATCH()函数指定要搜索的列,而AGAINST()函数确定要使用的搜索表达式。
Sakila示例数据库代表一个虚构的DVD出租商店。 film表包含有关商店藏品中每部电影的相关信息。 列包括电影标题、发行年份、放映时间和描述。这是Navicat的“表单视图”中的示例行。 它允许你以表格的形式查看,更新,插入或删除数据,其中当前记录显示为字段名称及其值:

film_record

film_record

索引description列
为了以全文本模式搜索description字段,我们首先必须在表上创建全文索引。我们可以在Navicat中轻松地做到这一点,如下所示:
  1. 在表设计器中打开film表。
  2. 选择“索引”选项卡。
  3. 点击“添加索引”按钮。
  4. 让我们重命名索引名称为“idx_description”。
  5. 在“字段”文本框中,选择description列。
  6. 从“索引类型”下拉列表中选择FULLTEXT:

description_index

description_index

7.将“索引方法”留空,因为FULLTEXT索引不需要索引方法。

8.最后,点击“保存”按钮用来创建索引。

查询用时

 让我们打开查询编辑器并编写一个查询,查找其 description 包含短语“Database Administrator”的行。 Navicat可以通过建议字段名称甚至我们需要的函数来帮助我们编写查询:

auto_complete

这是短语“Database Administrator”的最终查询结果。 我们会惊讶的发现关于数据库管理员的电影数量很多!

db_admin_query

db_admin_query

查看分数
如上所述,使用零加正浮点数确定相关性,其中零表示没有相似性。 我们可以通过将MATCH()和AGAINST()函数添加到列列表中来查看每个记录的分数,例如:

score

score

这将有助于我们确定最接近的匹配值的截止点。

总结

在今天的博客中,我们学习了如何在Navicat for MySQL中进行自然语言全文搜索。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP