当前位置:首页 > 开发 > 开源软件 > 正文

Elasticsearch refresh vs. flush

发表于: 2015-01-26   作者:aoyouzi   来源:转载   浏览次数:
摘要: refresh操作有效地对Lucene index reader调用了reopen,使得在数据的那个时间快照进行了更新。这是Lucene拥有的近实时搜索api的特性。 ES refresh让文档可以搜索到,但是不保证这些信息被写入disk进入一个永久的存储状态,因为它并没有调用fsync,这就不能保证持久性了。让你数据获得持久性的是Lucene commit,这个操作代价比较大。 当你可以每秒

refresh操作有效地对Lucene index reader调用了reopen,使得在数据的那个时间快照进行了更新。这是Lucene拥有的近实时搜索api的特性。

ES refresh让文档可以搜索到,但是不保证这些信息被写入disk进入一个永久的存储状态,因为它并没有调用fsync,这就不能保证持久性了。让你数据获得持久性的是Lucene commit,这个操作代价比较大。

当你可以每秒都调用lucene reopen时,你不能这样使用lucene的commit。

借助lucene你可以尽可能频繁地调用reopen以使新的文档可以被搜索到,但是你仍然需要调用commit来确保数据写入disk并且fsynced,这样会安全。

ES通过增加了一个在每个shard(一个lucene的索引)上的事务解决这个问题,还未被commit的写操作会被存起来。事务log被fsynced,已经安全了,所以你每时每刻都获得了持久性,甚至对于那些没有被commit的文档,都是这样。因为refresh每秒自动地发生,所以你可以近实时地搜索文档,并且如果有不好的事件发生,事务log可以被替代从而恢复那些丢失的文档。事务log的优越性是它可以被用来做其他的事情,例如提供实时的get_by_id

elasticsearch flush高效地触发lucene commit,并同时清空事务log,因为一旦数据在lucene层面提交,持久性将会由lucene保证。Flush同样是一个api,也可以进行微调,虽然通常没有必要这样。Flush自动发生取决于事务log增加了多少操作、它们有多大、最后一次flush何时发生。

 

http://www.jianshu.com/p/0e9f6346f1fe

Elasticsearch refresh vs. flush

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
bigdesk是elasticsearch的一个集群监控工具,可以通过它来查看es集群的各种状态,如:cpu、内存使用
实现特殊的下拉刷新效果,下拉列表后出现像水滴一样的刷新动画。具体效果看视频啦。这种效果在iOS6
iOS 6.0的SDK支持下拉刷新的功能,不再需要用到第三方的代码。 Code4App编译测试,测试环境:Xcode
手指拖拽/往下拉动列表更新列表内容,手指往上拉动列表加载更多内容。多用于微博应用。 Code4App编
手指拖拉/拖拽/往下拉动列表更新列表内容。 Code4App编译测试,测试环境:Xcode 4.3, iOS 5.0。 转
操作系统环境: Red Hat 4.8.2-16 elasticsearch : elasticsearch-1.4.1 集群搭建方式: 一台虚拟机
Elasticsearch是一款基于Apache Lucene构建的开源搜索引擎 ① 分布式; ② 实时搜索; ③ 分析引擎
1. PUT形式创建索引: curl -XPUT 'http://127.0.0.1:9200/mengka/age/25' -d '{"name":"hyy0441013
来自:http://www.cnblogs.com/huangfox/p/3541300.html 一)安装elasticsearch 1)下载elasticsear
在安装方面,elasticsearch可以说已经做到了傻瓜式的,只需要三部,就可以完成安装 1、由于elastics
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号