范围查询 #
您可以使用 range 范围查询搜索字段中的值范围。
要搜索 line_id 值为 >= 10 和 <= 20 的文档,请使用以下请求:
GET shakespeare/_search
{
"query": {
"range": {
"line_id": {
"gte": 10,
"lte": 20
}
}
}
}
运算符 #
范围查询中的字段参数接受以下可选运算符参数:
gte:大于或等于gt:大于lte:小于或等于lt:小于
日期字段 #
您可以对包含日期的字段使用范围查询。例如,假设您有一个products索引,并且想要查找 2019 年添加的所有产品:
GET products/_search
{
"query": {
"range": {
"created": {
"gte": "2019/01/01",
"lte": "2019/12/31"
}
}
}
}
日期格式 #
要在查询中使用字段映射格式以外的日期格式,请在 format 字段中指定它。
例如,如果products索引将created字段映射为 strict_date_optional_time,则可以为查询日期指定不同的格式,如下所示:
GET /products/_search
{
"query": {
"range": {
"created": {
"gte": "01/01/2022",
"lte": "31/12/2022",
"format":"dd/MM/yyyy"
}
}
}
}