常用语句
查询全部索引
GET /_cat/indices
新建索引
PUT weather
新建/更新数据
PUT /weather/d1/1
{
"age":1,
"name":"zs",
"bri":"2018-08-08"
}
新建/更新数据
PUT /weather/d1/2
{
"age":10,
"name":"xwk",
"bri":"2018-08-08"
}
删除数据
DELETE weather/d1/2
删除索引
DELETE weather
查询单条数据
GET weather/d1/1
查询全部数据
GET weather/_search
条件查询
GET weather/_search?q=name:xwk
json-查询全部数据
GET weather/_search
{
"query":{
"match_all": {}
}
}
json-条件查询
GET weather/_search
{
"query":{
"match": {
"name": "xwk"
}
}
}
json-范围查询
GET weather/_search
{
"query":{
"range": {
"age": {
"gte": 1,
"lte": 9
}
}
}
}
分页查询
GET weather/_search
{
"query":{
"match_all": {}
},
"from":0,
"size":3
}
游标查询
指定scroll=时间,指定保存的分钟数,第一次发起请求放回的不是数据,而是 _scroll_id ,后面通过 _scroll_id去请求数据,非常适合大批量查询。游标查询是在es里面缓存了结果 ,然后一次一次的去取所以发起第一次请求的时候只有 size ,没有from ,后面的请求只有scroll_id和scroll时间
GET weather/_search?scroll=1m
{
"query":{
"match_all": {}
}
}
GET /_search/scroll
{
"scroll": "1m",
"scroll_id" : "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAAAotFlB6T19vT3QyUlN1WV9aUUhIVV9KVWcAAAAAAAAKLxZQek9fb090MlJTdVlfWlFISFVfSlVnAAAAAAAACjAWUHpPX29PdDJSU3VZX1pRSEhVX0pVZwAAAAAAAAoxFlB6T19vT3QyUlN1WV9aUUhIVV9KVWcAAAAAAAAKLhZQek9fb090MlJTdVlfWlFISFVfSlVn"
}
只显示指定结果
GET weather/_search?scroll=1m
{
"query":{
"match_all": {}
},
"_source": ["name"]
}
post_filter 和 query 的 区别 ,语法上没区别,唯一的在于 filter 不评分,所以 filter 比 query 快很多 ,filter 和query 可以共存。
GET weather/_search?scroll=1m
{
"post_filter":{
"match_all": {}
}
}
聚合函数
计算平均值和总数量
GET weather/_search?scroll=1m
{
"query":{
"match_all": {}
},
"aggs": {
"total_count": {
"value_count": {
"field": "age"
}
},
"pjz":{
"avg": {
"field": "age"
}
}
}
}
分组
GET weather/_search
{
"query": {
"match_all": {}
},
"aggs": {
"fz": {
"terms": {
"field": "age"
}
}
}
}