1.刷新索引
当外部数据写入索引时,数据并不会直接提交到磁盘上,因为提交数据的过程成本高昂,
会按照一定的流程将数据周期性的提交到磁盘上进行持久化。
2.索引持久化的过程
(1)就索引请求的文档数据写入内存中缓冲区和(类似事务)日志,此时这些数据还不能被搜索到。
(2)刷新索引数据,把缓冲区的数据写入文件系统缓存,此时数据已能够被搜索到。
(3)冲洗索引数据,把文件系统缓存中的数据写入磁盘并清空事务日志,完成数据提交。
索引经过刷新操作之后,之前的所有写入操作就能够在内存中生效,最新的数据就可以被检索到。
默认情况下,ES会对过去30s内被搜索到的索引提供自动化刷新机制,刷新间隔默认是1s.
其可以在 index.refresh_interval 的索引配置中进行修改。
3.刷新缓存
由此可见,刷新缓存并不会立即落盘,只是刷到了操作系统的缓存。
curl -u elastic:elastic -k -XPOST "http://192.168.1.800:9200/test-3-2-1/_refresh"
{
"_shards":{
"total":2,
"successful":2,
"failed":0
}
}
#刷新全部的索引
curl -u elastic:elastic -k -XPOST "http://192.168.1.800:9200/_refresh"
{
"_shards":{
"total":96,
"successful":94,
"failed":0
}
}