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" } //设置每秒刷新一次