elasticsearch
pfm84
这个作者很懒,什么都没留下…
展开
-
elasticsearch 并发控制
Elasticsearch使用_version来确保所有的改变操作都被正确排序。如果一个旧的版本出现在新版本之后,它就会被忽略掉。我们可以利用_version的优点来确保我们程序修改的数据冲突不会造成数据丢失。我们可以按照我们的想法来指定_version的数字。如果数字错误,请求就是失败。GET 到当前待修改文档的_version数字GET /website/blog/1将_ver转载 2015-08-31 10:56:21 · 2762 阅读 · 0 评论 -
elasticsearch更新文档数据
文本方式批量更新多字段使用更新请求最简单的一种用途就是添加新数据。新的数据会被合并到现有数据中,而如果存在相同的字段,就会被新的数据所替换。例如我们可以为我们的博客添加tags和views字段:POST /website/blog/1/_update{ "doc" : { "tags" : [ "testing" ], "views": 0 }转载 2015-08-31 11:14:16 · 4555 阅读 · 0 评论 -
如何防止ElasticSearch集群出现脑裂现象
什么是“脑裂”现象?由于某些节点的失效,部分节点的网络连接会断开,并形成一个与原集群一样名字的集群,这种情况称为集群脑裂(split-brain)现象。这个问题非常危险,因为两个新形成的集群会同时索引和修改集群的数据。如何避免脑裂问题?避免脑裂现象,用到的一个参数是:discovery.zen.minimum_master_nodes。这个参数决定了要选举一个Master需要多少个转载 2015-08-17 14:50:44 · 647 阅读 · 0 评论 -
elasticSearch批量操作bulk
bulk API可以帮助我们同时完成执行多个请求,比如:create,index,update以及delete。当你在处理类似于log等海量数据的时候,你就可以一下处理成百上千的请求,这个操作将会极大提高效率。bulk的请求主体的格式稍微有些不同:{ action: { metadata }}\n{ request body }\n{ action: { metada转载 2015-08-31 11:55:09 · 7798 阅读 · 0 评论 -
Elasticsearch 索引优化
ES索引优化篇主要从两个方面解决问题,一是索引数据过程;二是检索过程。索引数据过程我在上面几篇文章中有提到怎么创建索引和导入数据,但是大家可能会遇到索引数据比较慢的过程。其实明白索引的原理就可以有针对性的进行优化。ES索引的过程到相对Lucene的索引过程多了分布式数据的扩展,而这ES主要是用tranlog进行各节点之间的数据平衡。所以从上我可以通过索引的settings进行第一优化:转载 2015-08-17 16:17:04 · 452 阅读 · 0 评论 -
elsatic 出现unassigned shards的手工修复方法
curl -XPOST'localhost:9200/_cluster/reroute'-d '{ "commands": [ { "allocate": { "index": "logstash-ksmobile-2015.05", "shard": 0,转载 2015-09-26 17:38:09 · 3799 阅读 · 0 评论