先说明一下,低版本的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上去。
如下图所示:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。