ubuntu安装elasticsearch
基本用法
高级查询【上】
高级查询【下】
与springboot整合
整合mysql和thymeleaf
我使用的http请求工具是postman,具体安装详见:http://www.cnblogs.com/mafly/p/postman.html
1、创建索引:
打开postman,输入ip:9200/people(索引名)
点击body->raw->json,输入以下json数据,创建索引和字段。
{
"settings":{
"number_of_shards":3, //索引分片数
"number_of_replicas":1 //索引备份数
},
"mappings":{ //映射
"man":{ //字段名
"properties":{ //属性
"name":{ //文档
"type":"text" //文档类型为文本
},
"country":{
"type":"keyword" //文档类型为关键字
},
"age":{
"type":"integer" //文档类型为integer
},
"birth":{
"type":"date", //文档类型为时间
"format":"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" //时间的三种格式化形式,中间用||隔开
}
}
}
}
}
2、插入数据
输入ip:9200/people(索引名)/man(字段名)/1(id)
输入json数据:
{
"name":"熊义杰",
"country":"中国",
"age":19,
"birth":"1999-12-08"
}
插入成功后可以在head插件中看到:
自动创建id,elasticsearch会自动为我们随机创建一个id,但是这样的id一般都很长,所以还是建议自己手动添加id。
3、修改数据:
输入ip:9200/people/man/1(数据的id)/_update
4、删除数据:这是删除id为1的数据,
直接删除一个索引:
5、查询数据:
1)根据id查询数据:
2)查询所有数据:
{
"query":{
"match_all":{}
}
}
将地址改为ip:9200/people/_search
3)带条件查询:
{
"query":{
"match_all":{}
},
"from":1, //从第几个开始返回
"size":1 //返回几条数据
}
{
"query":{
"match":{
"name":"杰" //作为条件的文档
}
}
}
{
"query":{
"match":{
"name":"杰"
}
},
"sort":[
{"age":{"order":"desc"}} //按照age排序,排序方式:降序
]
}
4)聚合查询
{
"aggs":{
"group_by_age":{
"terms":{
"field":"age" //根据年龄聚合
}
}
}
}
结果:
{
"aggs":{
"group_by_age":{
"min":{ //直接用函数(这里是返回最小值)
"field":"age"
}
}
}
}