序言
收集整理ES常用的一些查询类型.持续更新.
基本信息
常用字符
| 符号 | 含义 |
|---|---|
| gte | greater-than or equal to, 大于或等于 |
| gt | greater-than, 大于 |
| lte | less-than or equal to, 小于或等于 |
| lt | less-than, 小于 |
逻辑查询
或(OR)
#如果有多个搜索关键字, Elastic 认为它们是or关系。
$ curl 'localhost:9200/accounts/person/_search' -d '
{
"query" : { "match" : { "desc" : "软件 系统" }}
}'
与(AND)
格式是:
{
"query": {
"bool": {
"must": [
{query_type:1},
{query_type:2}
]
}
}
例子:
#如果要执行多个关键词的and搜索,必须使用布尔查询。
$ curl 'localhost:9200/accounts/person/_search' -d '
{
"query": {
"bool": {
"must": [ #注意这里的与的关系 是数组内涵对象.
{ "match": { "desc": "软件" } },
{ "match": { "desc": "系统" } }
]
}
}
}
时间查询
时间表达式的使用
| 表达式 | 含义 | 表达式 | 含义 |
|---|---|---|---|
y | 年 | M | 月 |
w | 星期 | d | 天 |
h | 小时 | H | 小时 |
m | 分钟 | s | 秒 |
| now | 系统当前时间 | || | 用于拼接时间和字符串 |
+1h—— 加1小时;-1d—— 减1天;/d—— 四舍五入到最近的一天.- /m —— 四舍五入到最近的一月
- /y —— 四舍五入到最近的一年
说明: 假设系统当前时间now = 2018-10-01 12:00:00 :
now+1h: now的毫秒值 + 1小时, 结果是:2018-10-01 13:00:00.now-1h: now的毫秒值 - 1小时, 结果是:2018-10-01 11:00:00.now-1h/d: now的毫秒值 - 1小时, 然后四舍五入到最近的一天的起始, 结果是:2018-10-01 00:00:00.2018.10.01||+1M/d:2018-10-01的毫秒值 + 1月, 再四舍五入到最近一天的起始, 结果是:2018-11-01 00:00:00.
时间的四舍五入
针对>,>=,
关注
打赏
