无涯教程知道每个用户都根据他们的知识搜索信息。他们使用一些关键字来搜索信息,并且这些关键字太短。可以解决此问题,并帮助用户使用MySQL引入的新概念来查找所谓的查询扩展。
使用查询扩展时,MySQL全文搜索引擎执行以下步骤:
步骤1:首先搜索与给定搜索查询匹配的所有行。
步骤2:通过检查搜索中的所有行来找到所有相关单词。
步骤3:最后,它将根据这些相关单词再次搜索,而不是用户指定的原始关键字。
如果想使用查询扩展全文搜索,需要在AGAINST()函数中使用查询扩展搜索修饰符添加。换句话说,通过在搜索短语下添加查询扩展或自然语言模式以查询扩展来启用它。以下是基本语法:
SELECT column_lists FROM table_name WHERE MATCH(column1, column2) AGAINST('keyword', WITH QUERY EXPANSION);
通过示例了解如何在MySQL中进行查询扩展全文搜索工作。
假设有一个名为 post 的表,其中包含以下数据。此表具有 title 和 description 列作为全文索引。
以下示例显示帖子的信息的搜索结果,其名称包含" MySQL"术语而不使用查询扩展:
mysql> SELECT * FROM posts WHERE MATCH(title, descriptions) AGAINST('MySQL');
执行查询将返回包含"MySQL"术语的三个帖子名称:
现在,将使用查询扩展来扩展搜索,如下所示:
mysql> SELECT * FROM posts WHERE MATCH(title, descriptions) AGAINST('MySQL' WITH QUERY EXPANSION);
执行语句,无涯教程将在使用查询扩展时在结果集中获得一行。在这里,前三行是最相关的,另一行来自前三行的相关关键字。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)