es 执行update操作后,列表不能够及时刷新,刷新间隔refresh_interval

更新的时候设置 refresh_policy 为 immediately 即可,
如果不设置默认是不会立刻刷新的,需要等待索引 index.refresh_interval 设置的时间到了才会自动刷新

JAVA API 示例:
在返回结果前刷新索引
.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE)

public UpdateResponse alarmLogIgnore(DataContainer dataContainer, String _index, String _type, String _id, String ignoreValue) {

        UpdateResponse ret= null;
        try {
            ret = elasticsearchTemplate.getClient(dataContainer)
                    .prepareUpdate(_index,_type,_id)
                    .setDoc(jsonBuilder().startObject().field("ignore",ignoreValue)
                    .endObject())
                    .setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE)
                    .get();//更新数据后 立即刷新索引

        } catch (IOException e) {
            e.printStackTrace();
        }
        return ret;
    }

猜你喜欢

转载自blog.csdn.net/LSY929981117/article/details/107564064
今日推荐