随笔分类 - ES-学习 / es-基础-第一周
摘要:doc1:I really liked my small dogs, and I think my mom also liked them. doc2:He never liked any dogs, so I hope that my mom will not expect me to liked
阅读全文
摘要:1、exact value 必须要精确匹配才可以搜索出来 2017-01-01,exact value,搜索的时候,必须输入2017-01-01,才能搜索出来 如果你输入一个01,是搜索不出来的 2、full text 类似模糊匹配 (1)缩写 vs. 全程:cn vs. china (2)格式转化
阅读全文
摘要:1、query string基础语法 GET /test_index/test_type/_search?q=test_field:test GET /test_index/test_type/_search?q=+test_field:test GET /test_index/test_type/
阅读全文
摘要:插入几条数据,让es自动为我们建立一个索引 PUT /website/article/1 { "post_date": "2017-01-01", "title": "my first article", "content": "this is my first article in this we
阅读全文
摘要:课程大纲 1、讲解如何使用es进行分页搜索的语法 size,from GET /_search?size=10 GET /_search?size=10&from=0 GET /_search?size=10&from=20 分页的上机实验 GET /test_index/test_type/_se
阅读全文
摘要:课程大纲 1、multi-index和multi-type搜索模式 告诉你如何一次性搜索多个index和多个type下的数据 /_search:所有索引,所有type下的所有数据都搜索出来 /index1/_search:指定一个index,搜索其下所有type的数据 /index1,index2/
阅读全文
摘要:课程大纲 1、我们如果发出一个搜索请求的话,会拿到一堆搜索结果,本节课,我们来讲解一下,这个搜索结果里的各种数据,都代表了什么含义 2、我们来讲解一下,搜索的timeout机制,底层的原理,画图讲解 GET /_search { "took": 6, "timed_out": false, "_sh
阅读全文
摘要:课程大纲 bulk api奇特的json格式 {"action": {"meta"}}\n {"data"}\n {"action": {"meta"}}\n {"data"}\n [{ "action": { }, "data": { } }] 1、bulk中的每个操作都可能要转发到不同的node
阅读全文
摘要:1、客户端发送请求到任意一个node,成为coordinate node 2、coordinate node对document进行路由,将请求转发到对应的node,此时会使用round-robin随机轮询算法,在primary shard以及其所有replica中随机选择一个,让读请求负载均衡 3、
阅读全文
摘要:(1)consistency,one(primary shard),all(all shard),quorum(default) 我们在发送任何一个增删改操作的时候,比如说put /index/type/id,都可以带上一个consistency参数,指明我们想要的写一致性是什么? put /ind
阅读全文
摘要:(1)客户端选择一个node发送请求过去,这个node就是coordinating node(协调节点) (2)coordinating node,对document进行路由,将请求转发给对应的node(有primary shard) (3)实际的node上的primary shard处理请求,然后
阅读全文
摘要:(1)document路由到shard上是什么意思? (2)路由算法:shard = hash(routing) % number_of_primary_shards 举个例子,一个index有3个primary shard,P0,P1,P2 每次增删改查一个document的时候,都会带过来一个r
阅读全文
摘要:1、阶段性总结 1~8讲:快速入门了一下,最基本的原理,最基本的操作 9~13讲:在入门之后,对ES的分布式的基本原理,进行了相对深入一些的剖析 14~27讲:围绕着document这个东西,进行操作,进行讲解和分析 2、什么是distributed document store 到目前为止,你觉得
阅读全文
摘要:课程大纲 1、bulk语法 POST /_bulk { "delete": { "_index": "test_index", "_type": "test_type", "_id": "3" }} { "create": { "_index": "test_index", "_type": "te
阅读全文
摘要:1、批量查询的好处 就是一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的 如果进行批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的性能开销缩减100倍 2、mget的语法 (1)一条一条的查询 GET /test_index/test_ty
阅读全文
摘要:课程大纲 (1)partial update内置乐观锁并发控制 (2)retry_on_conflict (3)_version post /index/type/id/_update?retry_on_conflict=5&version=6
阅读全文
摘要:es,其实是有个内置的脚本支持的,可以基于groovy脚本实现各种各样的复杂操作 基于groovy脚本,如何执行partial update es scripting module,我们会在高手进阶篇去讲解,这里就只是初步讲解一下 PUT /test_index/test_type/11 { "nu
阅读全文
摘要:课程大纲 1、什么是partial update? PUT /index/type/id,创建文档&替换文档,就是一样的语法 一般对应到应用程序中,每次的执行流程基本是这样的: (1)应用程序先发起一个get请求,获取到document,展示到前台界面,供用户查看和修改 (2)用户在前台界面修改数据
阅读全文
摘要:课程大纲 1、上机动手实战演练基于external version进行乐观锁并发控制 external version es提供了一个feature,就是说,你可以不用它提供的内部_version版本号来进行并发控制,可以基于你自己维护的一个版本号来进行并发控制。举个列子,加入你的数据在mysql里
阅读全文
摘要:1、上机动手实战演练基于_version进行乐观锁并发控制 (1)先构造一条数据出来 PUT /test_index/test_type/7 { "test_field": "test test" } (2)模拟两个客户端,都获取到了同一条数据 GET test_index/test_type/7
阅读全文