我想获取1000到2000之间的值。我尝试了以下查询:
{
"query": {
"bool": {
"filter": [{
"range": {
"price": {
"gte": 1000
},
"price": {
"lte": 2000
}
}
}]
}
}
}
Run Code Online (Sandbox Code Playgroud)
但这并不能令人满意。大于工作正常。我正在使用elasticsearch v6.3。请同时为两个值提供包含和排除的解决方案。
Mik*_*kov 17
返回price值介于1000和2000(含)之间的文档。
{
"query": {
"range" : {
"price" : {
"gte" : 1000,
"lte" : 2000
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
范围查询
将文档与字段在一定范围内的字段匹配。Lucene查询的类型取决于字段类型,对于字符串字段,是TermRangeQuery,而对于数字/日期字段,该查询是NumericRangeQuery。
gte -大于或等于
lte -小于或等于
gt - 比...更棒
lt - 少于
https://www.elastic.co/guide/zh-CN/elasticsearch/reference/current/query-dsl-range-query.html
| 归档时间: |
|
| 查看次数: |
16260 次 |
| 最近记录: |