1.创建索引
PUT http://node-131:9200/people
{
"settings" :{
"number_of_shareds":3,
"number_of_replices":1
},
"mappings":{
"man":{
"properties":{
"name":{
"type":"text"
},
"country":{
"type":"keyword"
},
"age":{
"type":"integer"
},
"date":{
"type":"date",
"format":"yyyy-MM-dd HH:mm:ss"
}
}
},
"woman":{
}
}
}
People为索引名
2.添加数据
Id 随机生成的:
POST http://node-131:9200/people/man/
{
"age":22,
"name":"傻狗",
"country":"中国",
"date":"2017-12-11 10:10:11"
}
指定ID
POST http://node-131:9200/people/man/2
{
"age":22,
"name":"冬瓜",
"country":"中国",
"date":"2017-12-11 10:10:11"
}
3.修改数据
直接修改:
POST http://node-131:9200/people/man/2/_update
{
"doc":{
"age":110
}
}
脚本修改:
POST http://node-131:9200/people/man/1/_update
{
"script":{
"lang":"painless",
"inline":"ctx._source.age += 10"
}
}
参数形式:
{
"script":{
"lang":"painless",
"inline":"ctx._source.age += params.age",
"params":{
age:100
}
}
}
4.删除数据
DELETE http://node-131:9200/people/man/2/
5. 查询数据
首先插入一些数据
简单查询:
通过ID查询
GET http://node-131:9200/people/man/1
查询所有:
POST http://node-131:9200/people/_search
{
"query":{
"match_all":{}
}
}
指定查询范围
{
"query":{
"match_all":{}
},
"from":1,
"size":10
}
条件查询:
查询name字段包括“瓜”的数据
POST http://node-131:9200/people/_search
{
"query":{
"match":{
"name":"瓜"
}
}
}
添加查询结构排序:
{
"query":{
"match":{
"name":"瓜"
}
},
"sort":[
{"age":{"order":"desc"}}
]
}
聚合查询
按照country字段进行group by 查询
POST http://node-131:9200/people/_search
{
"aggs":{
"group_by_country":{
"terms":{
"field":"country"
}
}
}
}
group_by_country 为自定义名字 aggs terms field为关键字
聚合函数查询:
Stats 统计函数
{
"aggs":{
"stats_age":{
"stats":{
"field":"age"
}
}
}
}
查询结果