操作背景:

  电商网站上面的一个商品的增删改查:

    es 能接受的都是JSON格式的数据

 Es 提供了一套简单的集群信息健康监控的api

    GET /_cat/health?v  

epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1496717921 10:58:41  elasticsearch yellow          1         1     11  11    0    0       11             0                  -                 50.0%

上面这组数据中status表示集群的健康状态:

status

      green:  表示primary shard 和replica  shard  都是active状态

      yellow:表示primary shard 都是active状态,但是replica shard都不是active 不可用

        red: 不是所有的primary shard 和replica shard 都是active 状态。部分数据已经缺失

以上这几种之间的转换时可以通过集群进行改变!

  GET /_cat/indices?v 

      查看集群中所有的索引:

      health status index      uuid                   pri rep docs.count docs.deleted store.size pri.store.size
      yellow open   ecommerce  rNPN2GoGTayx66xqMHmE-Q   5   1          2            0     11.4kb         11.4kb
      yellow open   .kibana    xjCuKCn-R7ajR6j5qK8FiQ   1   1          1            0      3.1kb          3.1kb
      yellow open   test_index 2syq2V15Q3ePcShzI_EyYQ   5   1          1            1        4kb            4kb

商品的CRUD操作:

这是其中的一条:

  PUT  ecommerce/product/3
{
  "name":"zhonghua yagao"
  ,"desc":"This is zhonghua caoben"
  ,"price":25,
  "producer":"zhonghua producer",
  "tags":["caoben"]
 
}

我插入了三条数据:

这是其中一条数据插入的返回结果:

{
  "_index": "ecommerce",
  "_type": "product",
  "_id": "3",
  "_version": 1,
  "result": "created",
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
  },
  "created": true
}

2-查询语法:GET /index/type/id

  

这是上面截图插入的那条数据,

3-修改商品文档

基本语法:PUT /ecommerce/product/1   这是存在时候就进行更新,不存在就创建

PUT /ecommerce/product/1
{
    "name" : "jiaqiangban gaolujie yagao",
    "desc" :  "gaoxiao meibai",
    "price" :  30,
    "producer" :      "gaolujie producer",
    "tags": [ "meibai", "fangzhu" ]
}

还可以进行部分字段进行更新:

PUT /ecommerce/product/1
{
    "name" : "jiaqiangban gaolujie yagao"
}

04-删除: DELETE  ecommerce/product/1  语法

    

总结下CRUD 的语法简单的发现到这是一个restful风格的APi接口!算是简单的入门了!

梦想一定要有,万一实现了!

学习笔记

    

    

elasticsearch从入门到出门-02-简单的CRUD的更多相关文章

  1. elasticsearch从入门到出门-08-Elasticsearch容错机制:master选举,replica容错,数据恢复

    假如: 9 shard,3 node Elasticsearch容错机制:master选举,replica容错,数据恢复 最佳分配情况: 这样分配之后,不管其中哪个node 宕机这个es 依然可以提供 ...

  2. elasticsearch从入门到出门-01windows上安装使用

    elasticsearch 1.安装JDK,至少1.8.0_73以上版本,java -version2.下载和解压缩Elasticsearch安装包,目录结构3.启动Elasticsearch:bin ...

  3. elasticsearch从入门到出门-06-剖析Elasticsearch的基础分布式架构

    这个图来自中华石杉:

  4. elasticsearch从入门到出门-05-集群之踩坑

    自己搭的集群, 设备: win10 + ubuntu 16 的虚拟机一个: 下载的版本:elasticsearch-5.2.0 win10 解压下就好了,不说了. ubuntu 上,我想说多了都是泪! ...

  5. elasticsearch从入门到出门-04-入门的几个需求练手

    第一个分析需求:计算每个tag下的商品数量 GET /ecommerce/product/_search{  "aggs": {    "group_by_tags&qu ...

  6. elasticsearch从入门到出门-03-多种搜索

    1.query string search 2.query DSL 3.query filter 4.full-text search 5.phrase search 6.highlight sear ...

  7. 学习Sharding JDBC 从入门到出门-02:源码揣测

    sjdbc有读写分离的功能,要使用这个功能,在创建数据源对象是要使用类:MasterSlaveDataSource,并且设置主备数据源和数据库名称 这个对象有下面的属性: name:数据库的名称 ma ...

  8. Elasticsearch从入门到放弃:文档CRUD要牢记

    在Elasticsearch中,文档(document)是所有可搜索数据的最小单位.它被序列化成JSON存储在Elasticsearch中.每个文档都会有一个唯一ID,这个ID你可以自己指定或者交给E ...

  9. hibernate入门-基本配置及简单的crud操作

    框架来说主要是需要写大量的配置文件,hibernate相比mybatis来说更强大,移植性更好: 1.类和数据库的映射配置:配置文件命名一般--类名.hbm.xml (user.hbm.xml),与实 ...

随机推荐

  1. YOLO 测试出错:段错误 (核心已转储)

    段错误 (核心已转储): data/voc.names中文标签改成英文

  2. Solr 创建core 从MySql数据库中导入数据

    一.创建数据表和数据 在MySql数据中创建mysolrInfo表, 创建字段 id 主键,自动增加 pname :姓名 age :年龄 addtime :增加时间 增加几条数据 二.创建core 当 ...

  3. Spring 配置多个数据源,并实现动态切换

    1.配置两个不同的数据源,如下 <!-- 数据源配置1 --> <bean id="testDataSource1" class="com.alibab ...

  4. Python类定义和类继承详解

    类实例化后,可以使用其属性,实际上,创建一个实例之后,可以通过类名访问其属性,如果直接使用类名修改其属性,那么直接影响已经实例化的对象. 类的私有属性: __private_attrs 两个下划线开头 ...

  5. Centos——升级Python2.7及安装pip

    CentOS升级Python2.7及安装pip 1) 升级Python2.7 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ...

  6. react-native 极光推送(jpush-react-native)

    极光推送官方支持的 React Native 插件 安装 npm install jpush-react-native --savenpm install jcore-react-native --s ...

  7. android CheckBox控件的定义及事件监听

    http://www.beijibear.com/index.php?aid=336 android CheckBox控件的定义及事件监听,本例实现CheckBox控件的定义及点击事件的监听并显示结果 ...

  8. 微软“小冰”识狗与人工神经网络(I)

    2014年8月21日,微软"小冰"网络机器人推出了一项图像识别技能:"小冰识狗". "小冰"怎么会"识狗"呢? 依据微软 ...

  9. 征信报告页面的input验证收集

    https://ipcrs.pbccrc.org.cn/ function checkLoginName() { var loginName = $.trim($("#loginname&q ...

  10. Junit使用教程(三)

    四.实例总结 1. 参数化测试 有时一个测试方法,不同的参数值会产生不同的结果,那么我们为了测试全面,会把多个参数值都写出来并一一断言测试,这样有时难免费时费力,这是我们便可以采用参数化测试来解决这个 ...