elasticsearch的数据操作
一、按id查询
请求方式:get
url:127.0.0.1:9200/people/_doc/1 url解释:ip:端口/索引名/类型名/id
二、按条件查询
1>查询全部
请求方式:post
url:127.0.0.1:9200/people/_search url解释:ip:端口/索引名/_search(_search关键词)
请求数据格式: json
{
"query": {
"match_all": {}
},
"from": 1,
"size": 1
}
查询全部的数据则无需from,size参数,加上size则表示返回数据的条数,from则表示从哪里返回
2>按指定条件查询并按指定字段排序(复合查询)
{
"query": {
"match": {
"name":"李四"
}
},
"sort": [{"date": {"order" : "desc"}}]
}
单字段聚合查询(聚合查询关键词 aggs, field指定聚合的字段)
{
"aggs": {
"group_by_age": {
"terms": {
"field": "age"
}
}
}
}
多个字段聚合查询
{
"aggs": {
"group_by_age": {
"terms": {
"field": "age"
}
},
"group_by_date": {
"terms":{
"field":"date"
}
}
}
}
3> 集合查询中添加计算 (关键词 stats,也可以用min、max、sum、count,field为指定聚合的字段)
{
"aggs":{
"group_by_age":{
"stats":{
"field":"age"
}
}
}
}
聚合查询的结果如下图
三、文档删除
请求方式:delete
url:ip:端口/索引名称/类型/id
直接访问就可以删除掉对应id的文档了
四、文档添加
请求方式:put
url:ip:端口/索引名/类型名/id(如果不指定id的话elasticsearch会默认添加一个随机的string)
添加--请求数据格式Json
请求示例:
{
"name": "张三",
"country": "中国",
"age": 23
}
发起请求就可以添加成功,如果指定相同的id则数据会进行覆盖,并以最后一次的数据为准