这批文章我们主要介绍一下Elasticsearch的搜索的概况,再接下来的文章中再介绍Elasticsearch的各个搜索函数。
一、Elasticsearch的搜索过程介绍
这里我们首先来一张图看看整个Elasticserch的搜索过程.
从上图中我们可以看到搜索主要有两块,一块是搜索信息,另外一块是聚合结果。基于这两块的整个流程就是如下:
1、client客户端端向elasticsearch的某个节点发起搜索请求。
2、节点根据请求的信息把搜索请求进行路由到其他的节点,根据查询条件去各节点中把对应的documentid取出来。
3、节点再根据documentid把对应的source获取回来
4、节点把所有节点获取到的source进行聚合和重排序,返回给客户端对应的size结果。
二、搜索请求结构
在elasticsearch的早期版本里面提供了http和socket的链接方式,但是在现在的版本里面我们目前几乎统一采用http的方式进行链接集群搜索。那么使用http的话,那么就会对搜索请求有一个结构,主要包含:请求参数,请求方式,请求体,返回体4部分。下面贴张图给大家看看。
上图就阐述了一个完整的搜索请求的请求url,请求方式,请求体,返回参数。
备注:
1、请求url里面一般会带有索引名称,有时候还会带有documentid。
2、请求方式的话,一般我们在搜索的时候都是post请求,当然也有通过id获取的可以使get请求。
3、请求体的话一定是一个json结构的body。
4、返回参数也是一个json结构的body。
还没有评论,来说两句吧...