怎么查看mysql扩展_MySQL查询扩展

在本教程中,您将了解到基于自动相关性反馈的MySQL查询扩展扩展搜索结果。

MySQL查询扩展简介

在某些情况下,用户希望根据他们拥有的知识来搜索信息。用户使用他们的知识来定义关键字来搜索信息,通常这些关键字太短。

为了帮助用户根据很短的关键字找到他们想要的内容,MySQL全文搜索引擎引入了一个称为查询扩展的概念。

查询扩展用于根据自动相关性反馈(或盲查询扩展)来扩大全文搜索的搜索结果。 从技术上讲,当使用查询扩展时,MySQL全文搜索引擎将执行以下步骤:

首先,MySQL全文搜索引擎会查找与搜索查询匹配的所有行。

其次,它检查搜索结果中的所有行,并找到相关词。

第三,它再次执行搜索,但是基于相关词而不是用户提供的原始关键词来查询匹配。

从应用程序的角度来看,当搜索结果太少时,可以使用查询扩展。再次执行搜索,但通过查询扩展为用户提供与他们正在查找的内容相关和相关的更多信息。

要使用查询扩展,请在AGAINST()函数中使用WITH QUERY EXPANSION搜索修饰符。以下说明使用WITH QUERY EXPANSION搜索修饰符查询的语法。

SELECT column1, column2

FROM table1

WHERE MATCH(column1,column2)

AGAINST('keyword',WITH QUERY EXPANSION);

MySQL查询扩展示例

我们来看一下查询扩展的例子,看看它是如何工作的。

我们将使用products表的productName列来演示查询扩展功能。首先,启用此列的全文搜索索引。

ALTER TABLE products

ADD FULLTEXT(productName);

其次,搜索的产品名称包含1992的项,而不使用查询扩展。

SELECT productName

FROM products

WHERE MATCH(productName) AGAINST('1992');

执行上面查询语句,得到以下结果 -

如上所见,搜索结果其产品名称包含1992有2个产品。

第三,可以通过使用查询扩展来扩展搜索结果,如下所示:

SELECT productName

FROM products

WHERE MATCH(productName)

AGAINST('1992' WITH QUERY EXPANSION);

执行上面查询语句,得到以下结果 -

当我们使用查询扩展时,在搜索结果中得到了更多行。 前两行是最相关的,其他行来自前两列的相关关键字,例如:Ferrari。

请注意,通过返回不相关的结果,盲查询扩展会显着增加噪声。 强烈建议您仅在搜索到的关键字较短时才使用查询扩展。

在本教程中,当用户提供的关键字很短时,我们向您介绍了MySQL查询扩展,以扩大搜索结果。

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值