暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL的函数和运算符 - 全文搜索 - 带查询扩展的全文搜索

林员外聊编程 2021-07-01
107
带查询扩展的全文搜索
 
全文搜索支持查询扩展(特别是它的变体“盲查询扩展”)。当搜索短语太短时,这通常是有用的,因为这通常意味着用户依赖于全文搜索引擎所缺乏的隐含知识。例如,用户搜索 “database” 可能实际上意味着 “MySQL”、“Oracle”、“DB2” 和 “RDBMS” 都是应该与“databases”匹配的短语,应该返回对应记录。这就是隐含的知识。
 
通过在搜索短语之后添加 WITH QUERY EXPANSION IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION,可以实现盲查询扩展(也称为自动相关反馈)。它的工作原理是执行两次搜索,其中第二次搜索的搜索短语是与第一次搜索的几个相关度最高的文档关联原始搜索短语。因此,如果其中一个文档包含单词 “databases” 和单词 “MySQL”,那么第二个搜索将找到包含单词 “MySQL” 的文档,即使它们不包含单词 “database”。下面的例子显示了这种差异:
 
mysql> SELECT * FROM articles
WHERE MATCH (title,body)
AGAINST ('database' IN NATURAL LANGUAGE MODE);
+----+-------------------+------------------------------------------+
| id | title | body |
+----+-------------------+------------------------------------------+
| 1 | MySQL Tutorial | DBMS stands for DataBase ... |
| 5 | MySQL vs. YourSQL | In the following database comparison ... |
+----+-------------------+------------------------------------------+
2 rows in set (0.00 sec)


mysql> SELECT * FROM articles
WHERE MATCH (title,body)
AGAINST ('database' WITH QUERY EXPANSION);
+----+-----------------------+------------------------------------------+
| id | title | body |
+----+-----------------------+------------------------------------------+
| 5 | MySQL vs. YourSQL | In the following database comparison ... |
| 1 | MySQL Tutorial | DBMS stands for DataBase ... |
| 3 | Optimizing MySQL | In this tutorial we show ... |
| 6 | MySQL Security | When configured properly, MySQL ... |
| 2 | How To Use MySQL Well | After you went through a ... |
| 4 | 1001 MySQL Tricks | 1. Never run mysqld as root. 2. ... |
+----+-----------------------+------------------------------------------+
6 rows in set (0.00 sec)
 
另一个例子是,当用户不知道如何拼写 “Maigret” 时,搜索 Georges Simenon 关于 Maigret 的书籍。不启用查询扩展,搜索 “Megre and the reluctant witnesses” 只能找到 “Maigret and the Reluctant Witnesses”。启用查询扩展的搜索将在第二次传递时找到所有带有单词 “Maigret” 的书籍。
 
注意
 
因为盲查询扩展会返回不相关的文档,从而显著增加噪音,所以只在搜索短语很短的时候使用它。
 
 
 
 
官方文档:
https://dev.mysql.com/doc/refman/8.0/en/fulltext-query-expansion.html
文章转载自林员外聊编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论