ElasticSearch常用语法大全

  本文,本文重在扫盲,从简单的添加索引、创建mapping、增、删、改、查、分页、聚合、嵌套查询等常用的语法切入,把大家带入到Elastic search的使用,让我们对es有个大概的体感。

 

目录

一、添加索引

二、设置mapping

属性映射类型可参考:

示例

三、插入数据

四、查询数据

以上mapping的设置,涵盖了四种常用的数据类型。对每种数据类型查询做下分析

1.简单数据类型:如上述示例中的goodsId,goodsName

2.对于type为long,数组形式存储的但属性值的查询。如上述示例中的buIds,主要为java对象中List buIds 的用法

3.object类型和nested类型的查询(上述示例中的manager和managers)

五、更新索引

1.通过put插入索引的方式,指定id后,把要改的字段,全都写一遍,重新进行索引,如果是新增的字段,如果索引模式设置了自动适配就会新增该字段(默认是新增)。相同的字段进行更新,缺少的字段更新为空

2.通过update by query语句进行更新,示例如下

六.删除语句 delete by query 语句进行,务必要加条件,不然会删除所有数据,慎用

七、分页

八、聚合



一、添加索引

  1. 语法:PUT 你的索引名称

  2. 示例:PUT goods_for_test_use

二、设置mapping

属性映射类型可参考:

https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-types.html

示例

PUT goods_for_test_use/goods_for_test/_mapping
{
    "properties": {
      "goodsId":{
        "type": "keyword"
      },
      "goodsName":{
        "type": "keyword"
      },
      "buIds":{
        "type": "long"
      },"gmv":{
        "type": "double"
      },
      "manager":{
        "type": "object",
        "properties": {
          "firstName":{"type":"keyword"},
          "secondName":{"type":"keyword"},
          "age":{"type":"long"}
        }
      },
      "managers":{
        "type": "nested",
        "properties": {
          "firstName":{"type":"keyword"},
          "secondName":{"type":"keyword"},
          "age":{"type":"long"}
        }
      }
    }
}

三、插入数据

插入数据,只要根据mapping设置的数据类型,组装相应的json串即可,见示例代码

##插入数据第一条数据,这里的1表示的是索引中文档的id,可根据业务语义设置即可,如使用商品id
PUT goods_for_test_use/_doc/1
{
  "goodsId":"222",
  "goodsName":"测试商品名称2",
  "buIds":[1,2,3],
  "gmv":333,
  "manager":[
        {
          "firstName":"lei",
          "secondName":"teng"
        },
        {
          "fistName":"zhang",
          "secondName":"san"
        }
    ],
  "managers":[
      {
          "firstName":"lei",
          "secondName":"teng",
          "age":30
        },
        {
          "firstName":"zhang",
          "secondName":"san",
          "age":18
        },
         {
          "firstName":"lei",
          "secondName
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值