在我的服务器中,我使用批量API更新了一些文档:
eucdist <- function(z,p){
return(dist(rbind(z, p)))
}
# in this case s=1 since that is the <= condition
res <- do.call(rbind,lapply(1:nrow(grid),function(m) if(eucdist(as.numeric(grid[m,]),as.numeric(p[1,])) <= 1){return(grid[m,])}))
收到回复后,我使用搜索对该文档发出新请求:
{"update":{"_type":"post","_retry_on_conflict":"3","_index":"xxxx","_id":"yyyy"}}
{"doc":{"sentiment":"positive","mood":1,"upgrade":true}}
但是返回的文档没有更新值(仍然具有旧值)。如果我等待一段时间,则会显示更新的值。我认为这是因为批量是异步的?有什么方法可以解决这个问题吗?
答案 0 :(得分:2)
您可以使用refresh api强制进行索引更新,甚至可以在批量命令结束时添加?refresh=true
。但通常不推荐。此外,如果有多个节点,您可能需要使用synced flush。