在对某些文档ID进行部分更新时,有没有办法告诉Elastic忽略不存在的文档:
import com.sksamuel.elastic4s._
val request = update(id).in(indexAndType).doc(someDoc)
elasticApi.execute(request) // returns a Failure with DocumentMissingException if a document with the given id doesn't exist
答案 0 :(得分:0)
您当然可以(当然)捕获异常,或者首先执行get请求以查看文档是否存在,然后才进行更新,但是您在编写时并不存在您想要的请求。 / p>
val f = client.execute {
get("index", "type", "id")
}.collect {
case Right(resp) if resp.result.found => client.execute {
updateById("index", "type", "id").doc(someDoc)
}
}
以上代码来自版本6.1.1。