ElasticSearch一般称为近实时的大数据处理引擎,为什么是近实时呢?原因是当我们提交索引数据时,实际上只是写到了Buffer里面,并不是立即可搜索的,最多需要等1秒才可搜索(index.refresh_interval由这个参数控制,可以通过动态API自定义设置,或在建索引时在settings里面设置),还有一点,当存在副本时,只保证主分片写入成功写入请求就会返回,此时搜索请求如果分配到了副本上,有可能是搜索不到的。
那怎么做到实时搜索呢,在Java的UpdateRequest、IndexRequest、DeleteRequest对象中设置一下就可以了:setRefreshPolicy(RefreshPolicy.IMMEDIATE)
原文地址:https://www.cnblogs.com/ilovejesus/p/12629600.html
时间: 2024-10-10 04:26:42