elasticsearch从入门到出门-02-简单的CRUD
操作背景:
电商网站上面的一个商品的增删改查:
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的更多相关文章
- elasticsearch从入门到出门-08-Elasticsearch容错机制:master选举,replica容错,数据恢复
假如: 9 shard,3 node Elasticsearch容错机制:master选举,replica容错,数据恢复 最佳分配情况: 这样分配之后,不管其中哪个node 宕机这个es 依然可以提供 ...
- elasticsearch从入门到出门-01windows上安装使用
elasticsearch 1.安装JDK,至少1.8.0_73以上版本,java -version2.下载和解压缩Elasticsearch安装包,目录结构3.启动Elasticsearch:bin ...
- elasticsearch从入门到出门-06-剖析Elasticsearch的基础分布式架构
这个图来自中华石杉:
- elasticsearch从入门到出门-05-集群之踩坑
自己搭的集群, 设备: win10 + ubuntu 16 的虚拟机一个: 下载的版本:elasticsearch-5.2.0 win10 解压下就好了,不说了. ubuntu 上,我想说多了都是泪! ...
- elasticsearch从入门到出门-04-入门的几个需求练手
第一个分析需求:计算每个tag下的商品数量 GET /ecommerce/product/_search{ "aggs": { "group_by_tags&qu ...
- elasticsearch从入门到出门-03-多种搜索
1.query string search 2.query DSL 3.query filter 4.full-text search 5.phrase search 6.highlight sear ...
- 学习Sharding JDBC 从入门到出门-02:源码揣测
sjdbc有读写分离的功能,要使用这个功能,在创建数据源对象是要使用类:MasterSlaveDataSource,并且设置主备数据源和数据库名称 这个对象有下面的属性: name:数据库的名称 ma ...
- Elasticsearch从入门到放弃:文档CRUD要牢记
在Elasticsearch中,文档(document)是所有可搜索数据的最小单位.它被序列化成JSON存储在Elasticsearch中.每个文档都会有一个唯一ID,这个ID你可以自己指定或者交给E ...
- hibernate入门-基本配置及简单的crud操作
框架来说主要是需要写大量的配置文件,hibernate相比mybatis来说更强大,移植性更好: 1.类和数据库的映射配置:配置文件命名一般--类名.hbm.xml (user.hbm.xml),与实 ...
随机推荐
- mapbox 接入高德矢量地图实战
Mapbox 作为现如今比较流行的地图框架为我们提供了漂亮的个性化地图,在平常的使用过程中可以方便的接入高德/谷歌等矢量切片地图.由于Mapbox地图数据来源于Open Street Map等国外厂商 ...
- 配置 FIS 来适配 go revel 框架以优化前端缓存策略
对于前端工程师来说,浏览器缓存优化是个永远的话题.前几天看了知乎上的一个问答:<大公司里怎样开发和部署前端代码?>,深以为然,所以决心使用 FIS 来优化自身的前端文件. 我们的项目使用了 ...
- Solidworks 如何快速完全定义草图
工具-尺寸标注-完全定义草图
- react-native 组件默认属性(defaultProps) 及 属性类型验证(PropTypes)
1.所有的属性类型 2.代码 import PropTypes from 'prop-types'; type Props = {}; export default class App extends ...
- ionic2项目创建回顾 及 react-native 报错处理
ionic2: 1.创建项目: ionic start MyIonic2Project tutorial --v2 (下载 tutorial 模板来初始化项目) ionic start MyIonic ...
- linux 文件&文件夹大小排序
按照当前文件夹的文件大小排序: ls -l | sort -k 5 -n -r 其中 sort 的几个参数: -k 5: 表示使用第五列字段排序, 当需要按照多个字段排序时, 可使用多个 -k 参数, ...
- ASP.NET常见命名空间及其功能描述
命名空间 | 功能描述 System | 包含CLR的基本类型和基类,定义了常用的值类型和引用类型,事件.接口.属性和异常处理等 System.Text | 包含用于文本处理的类,实现了不同编码方 ...
- SQL Server统计信息:问题和解决方式
在网上看到一篇介绍使用统计信息出现的问题已经解决方式,感觉写的很全面. 在自己看的过程中顺便做了翻译. 因为本人英文水平有限,可能中间有一些错误. 假设有哪里有问题欢迎大家批评指正.建议英文好的直接看 ...
- 挖一挖C#中那些我们不经常使用的东西之系列(4)——GetHashCode,ExpandoObject
一:GetHashCode 从MSDN上能够看到的解释是:用作特定类型的哈希函数,也就是说不论什么对象的实例都会有一个int32类型的HashCode.而且存放在FCL中的 HashCollectio ...
- js中box和box()的区别
window.onload = function(){ var input = document.getElementByTagName('input')[0]; input.onclick = bo ...