摘要: 1、查询lib索引下类型是user,id是1的文档 GET /lib/user/1 2、查询所有索引下的文档 GET _search 3、查询lib索引下的文档 GET /lib/_search 4、查询lib、lib2索引下的文档 GET /lib,lib2/_search 5、查询以3和4结尾的 阅读全文
posted @ 2020-04-07 19:12 雷雨客 阅读(2177) 评论(0) 推荐(0)
摘要: 1、准备数据 PUT /lib { "settings":{ "number_of_shards":3, "number_of_replicas":0 }, "mappings":{ "user":{ "properties":{ "name":{"type":"text"}, "address": 阅读全文
posted @ 2020-04-07 18:50 雷雨客 阅读(1231) 评论(0) 推荐(0)
摘要: 1、bulk的格式: {action:{metadata}}\n {requestbody}\n 2、为什么不使用如下格式: [ { "action":{}, "data":{} } ] 这种方式可读性好,但是内部处理就麻烦了:耗费更多内存,增加java虚拟机开销 1)将json数组解析为JSONA 阅读全文
posted @ 2020-04-07 11:42 雷雨客 阅读(507) 评论(0) 推荐(0)
摘要: 文档查询内部原理 文档查询内部原理与文档增删改类似,但是查询可以转发到副本上请求数据。 第一步:查询请求发给任意一个节点,该节点就成了coordinating node,该节点使用路由算法算出文档所在的primary shard。 第二步:协调节点把请求转发给primary shard也可以转发给r 阅读全文
posted @ 2020-04-07 11:24 雷雨客 阅读(233) 评论(0) 推荐(0)
摘要: 1、任何一个增删改操作都可以跟上一个参数consistency PUT /myindex/article/4?consistency=one { "post_date":"2018-05-18", "title":"Java", "content":"java is the best languag 阅读全文
posted @ 2020-04-07 11:01 雷雨客 阅读(536) 评论(0) 推荐(0)
摘要: 1、发送增删改请求时,可以选择任意一个节点,该节点就成了协调节点(coordinating node) 2、协调节点使用路由算法进行路由,然后将请求转到primary shard所在节点,该节点处理请求,并把数据同步到它的replica shard 3、协调节点对客户端做出响应 阅读全文
posted @ 2020-04-07 10:07 雷雨客 阅读(222) 评论(0) 推荐(0)
摘要: 1、文档路由: 一个索引由多个分片构成,当添加(删除,修改)一个文档时,es就需要决定这个文档存储在哪个分片上,这个过程就称为数据路由(routing)。 2、路由算法: shard=hash(routing) % number_of_primary_shards 示例:一个索引,3个primary 阅读全文
posted @ 2020-04-07 10:05 雷雨客 阅读(335) 评论(0) 推荐(0)