API规范
多索引
GET /test*/_search
GET /te*st/_search
GET /-test/_search
GET /_all/_search
*模糊匹配-排除功能
所有多索引API都支持以下查询字符串参数:
- ignore_unavailabe
控制是否忽略不可用索引,包括不存在的索引或者已关闭的索引。可以设置为
true或false。 - allow_no_indices
当通配符索引表达式结果为空时,控制请求是否会失败。可以指定
true或false。此设置也适用于别名,防止别名指向关闭的索引。 - expand_wildcards
控制通配符索引表达式可以扩展到具体那种索引。如果指定了
open,则通配符表达式将扩展为仅打开索引。如果指定了close,则扩展为关闭的索引。也可以指定这两个值open,closed以扩展到所有索引。
限制搜索索引的数量可以减少集群上的负载并提高执行性能。
日期数据格式
索引名称支持日期解析。
几乎所有具有index参数的API都支持index参数值中包含日期数学格式。日期数学索引名称具有以下形式:
<static_name{date_math_expr{date_format|time_zone}}>
static_name是索引名称的静态文本部分date_math_expr是动态日期数学表达式,用于动态计算日期date_format用来设置日期的可选格式。默认为yyyy.MM.dd格式,且应该与JAVA时间兼容。time_zone用来设置时区。默认为UTC。
日期数学表达式解析是独立于区域设置的。因此,除了公历外,不可使用任何其他形式的日历。
必须将日期数学格式索引名称表达式 括在 尖括号内,并且所有特殊字符都应进行URI编码。例如:
#GET /<logstash-{now/d}>/_search GET /%3Clogstash-%7Bnow%2Fd%7D%3E/_search { "query":{"match":{"test":"data"}} }