作者:william浩浩_597 | 来源:互联网 | 2023-08-31 17:03
【1】多个资源请求(1.1)基本查多个索引您可以使用逗号分隔的列表对多个资源test1,test2,test3(1.2)通配符,like之类的模糊查询还可以使用通配符*,如:tes
【1】多个资源请求
(1.1)基本查多个索引
您可以使用逗号分隔的列表对多个资源
test1,test2,test3
(1.2)通配符,like 之类的模糊查询
还可以使用通配符 * ,如:
test*或*test或te*t或*test*。
您可以使用以下-字符排除目标:test*,-test3。
(1.3)别名引起的问题
索引别名在通配符表达式之后解析。这可能会导致针对排除的别名的请求。
例如,如果test3
是索引 abc 的别名,则该模式test*,-test3
仍将定位到的索引test3
。
为了避免这种情况,请排除别名的具体索引。如:test*,-abc
(1.4)多目标API的字符串参数
ignore_unavailable :(可选,布尔值)如果为true
,则响应中不包含缺少或闭合的索引。默认为false
allow_no_indices:(可选,布尔值)如果true
,请求并不如果通配符表达式或者返回一个错误_all
值仅检索丢失或封闭的索引。此参数还适用于指向别名缺失或封闭索引的索引别名。
expand_wildcards:
(可选,字符串)控制通配符表达式可以扩展到的索引类型。如用逗号分隔,可以接受多个值open,hidden
。有效值为:
all:展开以打开和关闭索引,包括隐藏索引。
open:仅展开以打开索引。
closed:仅扩展到封闭索引。
hidden:通配符的扩展将包括隐藏的索引。必须与之合并open,closed或两者兼而有之。
none:不接受通配符表达式。
ignore_throttled :(可选,布尔值)如果为true
,冻结时将忽略具体的索引,扩展的索引或别名索引。默认为true
。
【2】索引名称中对日期的数学支持
(2.1)作用
日期数学索引名称解析使您可以搜索一系列时间序列索引,而不必搜索所有时间序列索引并过滤结果或维护别名。
限制搜索索引的数量可以减少群集上的负载并提高执行性能。
例如,如果您要在日常日志中搜索错误,则可以使用日期数学名称模板将搜索范围限制为过去两天。
几乎所有具有index
参数的API都在index
参数值中支持日期数学。
日期数学索引名称采用以下形式:
参数释义:
static_name
|
是名称的静态文本部分
|
date_math_expr
|
是动态日期数学表达式,可动态计算日期
|
date_format
|
是一种可选格式,应以这种格式呈现计算出的日期。默认为yyyy.MM.dd 。格式应与Java时间https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html兼容
|
time_zone
|
是可选的时区。默认为utc 。
|
请注意空格中小写与大写字母的用法date_format
。
例如:mm
表示小时,而MM
表示月份。
类似地,结合表示范围内hh
的小时,而表示24小时范围内的小时。1-12
AM/PM
HH
0-23
日期数学表达式与语言环境无关。因此,除了公历以外,无法使用其他日历。
您必须将日期数学索引名称表达式括在尖括号内,并且所有特殊字符均应进行URI编码。例如:
# PUT /
PUT /%3Cmy-index-%7Bnow%2Fd%7D%3E
(2.2)日期数学字符的百分比编码
用于日期舍入的特殊字符必须使用URI编码,如下所示
<
|
%3C
|
>
|
%3E
|
/
|
%2F
|
{
|
%7B
|
}
|
%7D
|
|
|
%7C
|
+
|
%2B
|
:
|
%3A
|
,
|
%2C
|
以下示例显示了不同形式的日期数学索引名称,以及在当前时间为2024年3月22日正午utc时,它们解析为的最终索引名称。
表达 | 解析为 |
---|
|
logstash-2024.03.22
|
|
logstash-2024.03.01
|
|
logstash-2024.03
|
|
logstash-2024.02
|
|
logstash-2024.03.23
|
要使用字符{ and
}
在索引名称模板的静态部分中,请使用反斜杠对其进行转义\
,例如:
解析为 elastic{ON}-2024.03.01
(2.3)案例
以下示例显示了一个搜索请求,该搜索请求在过去三天中搜索Logstash索引,假设索引使用默认的Logstash索引名称格式logstash-yyyy.MM.dd
。
# GET /,,/_search
GET /%3Clogstash-%7Bnow%2Fd-2d%7D%3E%2C%3Clogstash-%7Bnow%2Fd-1d%7D%3E%2C%3Clogstash-%7Bnow%2Fd%7D%3E/_search
{
"query" : {
"match": {
"test": "data"
}
}
}