`
eric_weitm
  • 浏览: 235332 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ElasticSearch 三 建立索引快的原因

 
阅读更多

https://blog.csdn.net/u010994304/article/details/50427672

 

一、lucene 本身的机制:index分多个segment存入磁盘,新的文件存入新的segment,搜索器更新到新的segment

二、es的改进

    1、新的segment不是fsync到磁盘,而是同步到内核文件缓存(默认1s),内核文件缓存再在合适的时间真正刷磁盘

    2、fsync之前怎么保证可靠?使用translog记录这段时间的操作,translog本身每5秒刷一次磁盘

    3、合并小的旧的segment

 

 

代码:

 

Settings settings = ImmutableSettings.settingsBuilder()

 

             .put("client.transport.sniff", true)

             .put("index.refresh_interval", "1s")

             .put("cluster.name","elasticsearch")

             .build(); 

TransportClient client = new TransportClient(settings);

 

POST /blogs/_refresh

PUT /my_logs/_settings

{ "refresh_interval": "1s" }  //设置每秒刷新一次

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics