- 博客(23)
- 资源 (27)
- 收藏
- 关注
原创 ElasticSearch21:bulk api的奇特json格式与底层性能优化大揭秘
1.bulk api批量操作bulk的命令格式{“action":"meta”} 换行{"data"}2.bulk 中的每个操作都可能要转发到不同的node的shard去执行3.如果才用比较良好的json数组格式{ “action”:"meta"}{ "data"}如果采用换行的格式,那么可读性很好,es拿到这种标准的json
2017-12-29 17:29:07 397
原创 ElasticSearch20:document内部查询原理图解
1.查询请求的原理1)首先客户端选择任意一个节点,发送请求get document id=1,P12)发送到node1上时,node1就是协调节点(coordinate node),coordinate node对document进行路由,路由之后,就知道在哪个primary shard上面了。3)前面的过程和增删改是一样的,后面有点不同了。coordinate node知道在哪个pr
2017-12-29 16:40:24 841
原创 ElasticSearch19:一致性原理以及quorum机制深入剖析
1.写一致性原理我们在发送任何一个增删改操作的时候,比如说 put /index/type/id,都可以带上一个consistency参数,指明我们想要的写一致性是什么。PUT /index/type/id?consistency=quorumone:要求我们这个写操作,只要primary shard是active活跃可用的,就可以执行写操作all:要求我们这个写操作,必须所有的p
2017-12-29 15:03:39 1374 1
原创 ElasticSearch18:图解document增删改内部原理
1.假设场景3个节点,3个primary shard,3个replica shard,总共6个shard,每个节点2个shard增删改的操作的过程都是一样的。过程:1)首先客户端client需要创建一个document,指定任意一个node,比如说node0,此时向node0发送请求。2)node0接收到请求,此时的node0就是协调节点,即coordina
2017-12-29 14:15:25 314
原创 ElasticSearch17:图解剖析document路由原理
1.document路由到shard上,是什么意思?我们知道,一个index的数据会分成多片,每片都在一个shard中,所以,一个document只能存在于一个shard中。当客户端创建document的时候,es此时就需要决定,这个document是放在这个index的哪个个shard中。这个过程称之为document routing,数据路由
2017-12-29 13:42:36 396
原创 ElasticSearch16:总结以及分布式document
1.阶段总结1-8讲:快速入门、基本的操作9-13讲:入门之后,对es的分布式的基本原理,进行了相对深入的一些剖析14-27讲:围绕着document这个东西,进行操作,进行讲解和分析2.什么是distributed document storeElasticSearch在跑起来之后,其实起到的第一个最核心的功能,就是一个分布式的文档数据存储系统。ES是分布式的
2017-12-29 13:24:17 184
原创 ElasticSearch15:bulk批量增删改
1.语法POST /bulk{"delete":{"_index":"test_index","_type":"test_type","_id":9}}{"create":{"_index":"test_index","_type":"test_type","_id":11}}{"test_field":"test201712291140"}{"index":{"_inde
2017-12-29 11:48:52 6971
原创 ElasticSearch14:mget批量查询
1.批量查询的好处1)一条一条查询,需要发送多次,网络开销大,批量查询可以解决很多网络的开销2)使用mget2.使用mget进行查询操作1)如果批量查询的对象不是在一个index中,那么可以用下面的语法GET /_mget{ "docs":[ { "_index":"test_index", "_type":"test
2017-12-29 11:26:17 3834
原创 ElasticSearch13:partial update原理以及乐观锁并发控制
1.上几篇中提到了partial update的用法,这篇学习一下partial update的原理和全量替换的原理稍有不同,partial update的原理:在客户端中首先获取到es中的document,然后对部分数据进行修改,然后向es端发送请求进行修改,底层仍然是全量替换。2.partial update并发问题乐观锁并发控制POST
2017-12-29 10:12:09 1405 1
原创 ElasticSearch12:partial update原理
1.什么是partial updatePUT /index/type/id ,创建文档、更新文档操作一般对应到应用程序中,每次的执行流程基本是这样的:1)应用程序先发起一个get请求,获取到document,展示到前台页面上,工用户查询和修改2)用户在前台页面上修改数据document,发送到后台3)后台代码,会将用户修改的数据在内存中进行执行,然后封装好修改后的全量数据4
2017-12-28 16:04:22 549
原创 ElasticSearch11:_version和external version进行乐观锁并发控制
1.version打开两个kibana页面,在页面1中执行putPUT /test_index/test_type/7{ "test_field":"xxx7"}此时的_version=1查询一下数据:{ "_index": "test_index", "_type": "test_type", "_id": "7", "_vers
2017-12-28 15:28:25 1196
原创 ElasticSearch10:基于_version进行乐观锁并发控制
1._version元数据当我们进行数据操作的时候,可以看到返回的结果中有_version,例如GET /test_index/test_type/2结果:{ "_index": "test_index", "_type": "test_type", "_id": "2", "_version": 4, "found": true, "_sour
2017-12-28 14:05:05 244
原创 ElasticSarch7:document的全量替换、强制创建以及图解lazy delete机制
1.全量替换如果document的id不存在,那么就是创建,如果以及存在,那么就是全量创建PUT /test_index/test_type/1{ "test_field":"xxx"}执行结果{ "_index": "test_index", "_type": "test_type", "_id": "1", "_version": 1,
2017-12-28 11:19:52 1095
原创 ElasticSearch6:document的dataSource元数据以及定制返回结果解析
1.dataSource元数据就是说,我们在创建一个document的时候,使用的那个放在request body中的json串,默认情况下,在get的时候,会原封不动的给我们返回回来。但是一般情况下,我们不需要所有的字段,所以需要进行定制。2.使用定制返回结果的例子GET /ecommerce/product/_search{ "query": { "matc
2017-12-28 10:57:11 814
原创 ElasticSearch5:Document id的手动指定和自动生成两种解析
1.document的id1)根据应用情况来说,是否满足是否指定document id的手动指定,一般情况,是从某些其他的系统中,导入一些数据到es时,会采用这种方式,就是使用系统中已有数据的唯一标识,作为es中document的id,举个例子,比如说我们现在在开发一个电商网站,做搜索功能,或者oa系统的员工查询,这个时候,数据首先会在网站的系统中的数据库中,会先有一份,此时就肯定会有一个数据
2017-12-28 09:43:45 14384
转载 Oracle函数索引与强制走索引
1.函数索引在create_date 中加入to_char 函数索引CREATE INDEX UCMDATA.IX_UCM_FUNCTION_CRE_DATE ON UCMDATA.UCM_MSG_INFO (to_char(created_date ,'yyyy-mm-dd')) INITRANS 16; 2.强制走索引INDEX(表别名 索引名称)
2017-12-27 11:24:25 1911
原创 ElasticSearch4:高级Query(嵌套聚合,下钻分析,聚合分析)
1.计算每个tag下的商品个数GET /ecommerce/product/_search{ "aggs":{ "group_by_tags":{ "terms": { "field": "tags" } } }}执行结果:{ "error": { "root_cause"
2017-12-25 16:54:33 1813
原创 ElasticSearch3:Query
1.Query string search1)GET /ecommerce/product/_search查询所有的匹配/ecommerce/product的数据{ "took": 8, "timed_out": false, "_shards": { "total": 5, "successful": 5, "skipped": 0,
2017-12-25 14:45:40 251
原创 ElasticSearch2:操作数据CRUD
1.在上一篇中,我们已经讲解如何部署ElasticSearch服务和Kibana。在这篇中,我们开始操作ElasticSearch,访问localhost:56012.命令1)GET _cluster/health 访问cluster的健康状态以及基本情况{ "cluster_name": "elasticsearch", "status": "yellow
2017-12-25 13:58:16 230
原创 ElasticSearch1:下载与安装
1.下载下载地址:https://www.elastic.co/productsElasticSearch下载地址:https://www.elastic.co/downloads/elasticsearchKibana下载地址:https://www.elastic.co/downloads/kibana下载后解压到指定目录即可2.安装Elasti
2017-12-25 13:28:39 1225
原创 js根据class属性获取所有标签
//获取所有的class的元素 function getClass(tagName, className) //获得标签名为tagName,类名className的元素 { if (document.getElementsByClassName) //支持这个函数 { return document.getEleme
2017-12-11 13:15:42 20042 1
健康管理师-技能操作-思维导图.pdf
2021-06-01
健康管理师-基础知识-思维导图.pdf
2021-06-01
软件需求规格说明书模板(超详细).doc
2020-03-09
MockGPS_20181031_v1.9.3.1.apk.zip
2020-01-02
zookeeper-3.5.3-beta配置版.zip
2019-08-14
蚂蚁金服serviceMesh落地实践与挑战
2019-06-26
zabbix_oracle监控模版
2018-12-04
RocketMQ相关资料(含rocketmq3.4.2用户指南)
2018-06-30
个人总结web
2017-03-15
个人开发总结文件夹
2017-03-15
iis部署上线文档
2017-03-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人