开发者学堂课程【ElasticSearch 最新快速入门教程:SearchType 详解】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/642/detail/10648
SearchType 详解
内容介绍:
一、es 的搜索类型
二、DFS 的缩写
三、初始化散发
一、es 的搜索类型
query and fetch(速度最快返回 N 倍数据量)
query then fetch(默认的搜索方式)
DFS query and fetch
DFS query then fetch(可以更精确控制搜索打分和排名)
DFS 解释:见备注
总结一下,从性能考虑 QUERY_AND_FETCH 是最快的,DFS QUERY_THEN FETCH 是最慢的。从搜索的准确度来说,DFS 要比非 DFS 的准确度更高,
二、DFS 的缩写
这个 D 可能是 Distributed,F 可能是 frequency 的缩写,至于 S 可能是 Scatter 的缩写,整个单词可能是分布式词频率和文档频率散发的缩写。
三、初始化散发
从 es 的官方网站我们可以发现,初始化散发其实就是在进行真正的查询之前,先把各个分片的词频率和文档频率收集一下,然后进行词搜索的时候,各分片依据全局的词频率和文档频率进行搜索和排名。显然如果使用DFS_QUERY_THEN_FETCH 这种查询方式,效率是最低的,因为一个搜索,可能要请求3次分片。但,使用 DFS 方法,搜索精度应该是最高的。