彩票走势图

Navicat使用教程:在MySQL中执行全文搜索(第2部分)

翻译|使用教程|编辑:莫成敏|2019-10-28 17:00:05.223|阅读 447 次

概述:Navicat for MySQL 是一套管理和开发 MySQL 或 MariaDB 的理想解决方案。在第1部分中,我们了解了MySQL如何通过全文索引以及三种不同类型的全文搜索提供全文搜索功能。在今天的文章中,我们将学习如何在Navicat for MySQL中执行自然语言全文搜索。

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

相关链接:

Navicat for MySQL 是一套管理和开发 MySQL 或 MariaDB 的理想解决方案。使用Navicat for MySQL可以同时连接到 MySQL 和 MariaDB。Navicat for MySQL提供了强大的前端功能,为数据库管理、开发和维护提供了直观的图形界面。对新手和专业人士来说,Navicat for MySQL都是管理和开发 MySQL 或 MariaDB的强大工具。

点击下载Navicat for MySQL免费版

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

自然语言全文搜索的定义

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

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

MySQL自然语言全文搜索示例

在MySQL中,使用MATCH()和AGAINST()函数执行自然语言全文搜索。MATCH()函数指定要搜索的列,而AGAINST()函数确定要使用的搜索表达式。

Sakila样例数据库代表一个虚构的DVD出租店。电影表包含有关商店集合中每部电影的相关信息。列包括电影的标题、发行年份、放映时间和描述。这是Navicat的“表单视图”中的示例行。它允许您以表格的形式查看、更新、插入或删除数据,其中当前记录显示为字段名称及其值:

Navicat使用教程:在MySQL中执行全文搜索(第2部分)

索引描述列

为了以全文本模式搜索描述字段,我们首先必须在表上创建全文索引。我们可以在Navicat中轻松地做到这一点,如下所示:

  • 在表设计器中打开描述表

  • 选择索引选项卡。

  • 单击添加索引按钮。

  • 让我们将新索引称为“idx_description”。

  • 在字段文本框中,选择描述列。

  • 从“索引类型”下拉列表中选择“全文”:

    Navicat使用教程:在MySQL中执行全文搜索(第2部分)

  • 将Index方法保留为空白,因为全文索引不需要此方法。

  • 最后,单击“保存”按钮以创建索引。

查询时间!

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

Navicat使用教程:在MySQL中执行全文搜索(第2部分)

这是短语“数据库管理员”的最终查询和结果。关于DBA的电影数量惊人地多!

Navicat使用教程:在MySQL中执行全文搜索(第2部分)

查看分数

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

Navicat使用教程:在MySQL中执行全文搜索(第2部分)

这将有助于我们确定最接近的比赛的起点。

结论

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

本教程内容到这里就完结啦,感兴趣的朋友可以继续关注我们,我们会不断更新相关内容!您也可以下载Navicat for MySQL免费版进行评估~

相关内容推荐:

Navicat 系列教程>>>


想要购买该产品正版授权,或了解更多产品信息请点击

1571968159.png



标签:

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


为你推荐

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


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP