ELasticsearch 基本操作

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"
       }
    }
 }
}

查询结果
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值