支持多个索引同时操作
在平常的api操作请求中,es支持操作多个索引,多个索引之间以逗号分隔,例如:aaa,bbb,ccc等。同时支持通配符模式和排除,例如:aaa*, aa*a, -bbb等
同时支持以下请求参数:
ignore_unavailable:是否忽略不可用的索引,例如不存在或者关闭的索引,true or false。
allow_no_indeices: 是否允许此次操作无索引,例如使用了通配符"test",但实际上并没有符合要求的索引,如果设置为false,则本次操作会失败。
expand_wildcards: 通配符匹配的索引类型,可取的值有很多,有: open, close, all, none.
例如当取值为open时,通配符锁匹配的索引类型就仅为open状态的索引。
搜索特定时间索引的内容
一些索引名称是由特定的时间字符组成的,例如logstash默认的按日索引logstash-2019.01.01或者jaeger的索引jaeger-service-2019-01-01。
要搜索这些特定的索引,例如要搜索今天和昨天的索引数据,可以直接使用es的特性,而不必专门计算一下再去搜索。
示例如下:
-
<logstash-{now/d}> 等价于 logstash-2024.03.22
-
<logstash-{now/M}>等价于 logstash-2024.03.01
-
<logstash-{now/M{yyyy.MM}}> 等价于 logstash-2024.03
-
<logstash-{now/M-1M{yyyy.MM}}> 等价于 logstash-2024.02
-
<logstash-{now/d{yyyy.MM.dd|+12:00}}> 等价于 logstash-2024.03.23
**注意:**实际请求时不能直接带"{"等之类的字符,要先编码之后浏览器才能识别;
常用编码格式:
- “<” %3C
- “>” %3E
- “/” %2F
- “{” %7B
- “}” %7D
- "|’’ %7C
- “+” %2B
- ": " %3A
- “,”" %2C
通用请求参数
还有一些通用请求参数,例如:
- pretty=ture,可以使响应信息更加直观可看;
- human=true,可以使响应信息更符合人类的阅读需求,例如1kb啊等等;
- filter_path=xxx, 只返回指定路径的信息,例如filter_path=hits.total只返回数目;
- flat_setting=true,只能够用在设置上,使返回的设置信息更加扁平化;
- error_trace=true;请求失败时打印跟踪栈信息;