mysql全文索引的查询扩展技术

2023-12-13 06:12:36

在执行全文搜索时,如果能够对查询进行扩展,则可以大大增强搜索的效果,尤其是在处理简短用户输入并依赖未明确表示的期望时。在这种情况下,“盲目查询扩展”以及它一般意义上的查询扩展方法就显得非常有用。

查询扩展的需求

试想用户经常会输入一个像“数据库”这样的单词,并期望不仅找到直接匹配的结果,还包括相关术语如“MySQL”、“Oracle”、“DB2”或者“RDBMS”。这些关联术语属于用户未在查询中具体说明的隐含知识。这正是查询扩展介入的地方,用以弥合字面搜索词汇和背后更广泛的搜索意图之间的差距。

自动相关性反馈

查询扩展自动相关性反馈,可以通过在搜索短语后添加WITH QUERY EXPANSIONIN NATURAL LANGUAGE MODE WITH QUERY EXPANSION来启用。该技术涉及进行两次搜索,第二次搜索使用了修订后的搜索短语,其中融入了初次搜索中排名最高的几个文档中的相关术语。因此,如果在首次搜索中的一个高排名文档中出现了“数据库”和“MySQL”,那么第二次搜索将包括含有“MySQL”的文档,即使它们没有提及“数据库”。

示例:
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)

注意:由于自动相关性反馈查询往往会返回不相关的文档,会增加查询结果的干扰,因此建议仅当搜索短语较短时才使用它。

文章来源:https://blog.csdn.net/jkzyx123/article/details/134944104
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。