MySQL 查询扩展 FULLTEXT 搜索17 Mar 2025 | 阅读 2 分钟 我们知道,每个用户都根据自己的知识来搜索信息。他们使用一些关键字来搜索信息,而这些关键字太短了。我们可以通过 MySQL 引入的一个新概念——查询扩展来解决这个问题,并帮助用户找到他们想要的东西。 MySQL 中的查询扩展用于根据自动相关性反馈或盲目查询扩展来扩大全文搜索的结果集。当使用查询扩展时,MySQL 全文搜索引擎会执行以下步骤: 步骤 1:它将首先搜索所有与给定搜索查询匹配的行。 步骤 2:它将通过检查搜索中的所有行来查找所有相关的词。 步骤 3:最后,它将根据这些相关的词再次搜索,而不是用户指定的原始关键字。 在理解了查询扩展的概念后,可能会清楚,当搜索结果太少时,我们可以使用查询扩展。我们可以再次执行搜索,但通过这个概念,用户可以获得与他们正在寻找的内容更相关的信息。 如果我们想使用查询扩展全文搜索,我们需要在 AGAINST() 函数中添加 WITH QUERY EXPANSION 搜索修饰符。换句话说,它可以通过在搜索短语之后添加 WITH QUERY EXPANSION 或 IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION 来启用。下面是说明此搜索在MySQL中进行的基本语法。 让我们通过示例来了解查询扩展全文搜索在 MySQL 中是如何工作的。 MySQL 查询扩展示例假设我们有一个名为 posts 的表,其中包含以下数据。该表有一个 title 和 description 列作为全文索引。 ![]() 下面的示例显示了不使用查询扩展时,包含“MySQL”词的帖子的搜索结果。 执行此查询将返回包含“MySQL”词的三个帖子名称。 ![]() 现在,我们将使用查询扩展来扩大搜索范围,如下所示: 执行该语句后,当使用查询扩展时,我们将获得结果集中的另一行。这里前三行是最相关的,而其他行则来自从前三行派生的相关关键字。 ![]() 需要注意的是,盲目查询扩展通过返回不相关的输出来显著增加噪声,因此建议仅在搜索短语较短时使用它。 |
MySQL ngram 全文解析器 在本文中,我们将学习 MySQL ngram 全文解析器的用法,它支持对日语、中文和韩语等表意语言进行全文搜索。内置的 MySQL 全文解析器使用空格作为单词之间的分隔符,该分隔符决定了...
5 分钟阅读
MySQL 自然语言 FULLTEXT 搜索 自然语言 FULLTEXT 搜索将搜索字符串解释为自然语言的字面短语。它不支持特殊字符。如果没有指定修饰符,或者指定了 IN NATURAL LANGUAGE MODE 修饰符,则默认启用。在...
阅读 3 分钟
MySQL BOOLEAN FULLTEXT SEARCH 布尔搜索模式是 MySQL 中一种额外的全文搜索形式。与自然语言搜索相比,它更侧重于单词,也就是说,它搜索的是单词而不是概念。它允许我们根据非常复杂的...
5 分钟阅读
MySQL 全文搜索 (FTS) 全文搜索是一种用于检查文档中可能不完全匹配搜索条件的所有单词的搜索技术。记录包含文本数据,如产品描述、博客文章、文章等。MySQL 支持全文索引和搜索,可用于...
阅读 6 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India