乐趣区

elasticsearch学习笔记二十二Elasticsearch-multiindex搜索模式以及搜索原理

先说明一下,低版本的 ES 一个 index 是支持多 type 的,所以就有 multi-type 这一种搜索模式,这里不做详细讲解,因为和 multi-index 搜索模式是基本一样的。而且高版本的 ES 会弃用 type。

1、multi-index 搜索模式

/_search: 所有索引下的所有数据都搜索出来

GET /_search

/{index}/_search:指定一个 index, 搜索这个索引下的所有数据

GET /test/_search

/index1,index2/_search: 同时搜索两个索引下的数据

GET /test_index,test/_search

/1,2/_search: 通过通配符匹配多个索引,查询多个索引下的数据

GET /test*/_search

/_all/_search: 代表所有的 index

GET /_all/_search

2、搜索原理浅析

当客户端发送查询请求到 ES 时,会把请求打到所有的 primary shard 上去执行,因为每个 shard 都包含部分数据,所有每个 shard 都可能会包含搜索请求的结果,但是如果 primary shard 有 replica shard,那么请求也可以打到 replica shard 上去。
如下图所示:

退出移动版