当前文章: 首页 >> 编程开发 >> JAVA >> ElasticSearch的upsert操作
聚划算
«   2020年5月   »
123
45678910
11121314151617
18192021222324
25262728293031
网站分类
    海外云服务器CPS_轻量拓展全民云计算企业云服务器云盾证书
标签列表
最近发表
友站访问排行

ElasticSearch的upsert操作

官方文档:

Java API [7.4] » Document APIs » Update API

https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-update.html


例子:

POST /collect/_doc/123/_update
{
   "script" : "ctx._source.browse += 1",
   "upsert": {
       "url": "http://www.example.com/123/456.html",
       "browse": 0,
	"time": "20191024190400"
   }
}


Java代码:

内容已经加密,请关注公众号后发送1001获取密码; 使用微信扫描二维码,或者微信直接上搜索公众号jues进行关注;




总结 update用法:

  1. 如果document(服务器端数据)不存在,则执行upsert;

  2. 如果document(服务器端数据)存在,则执行doc或script;

       doc和script只能选择其中之一,如果2个都有,执行时会提示错误,如Java执行时提示以下错误:

org.elasticsearch.action.ActionRequestValidationException: Validation Failed: 1: can't provide both script and doc;
	at org.elasticsearch.action.ValidateActions.addValidationError(ValidateActions.java:26)
	at org.elasticsearch.action.update.UpdateRequest.validate(UpdateRequest.java:221)
	at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1420)
	at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1394)
	at org.elasticsearch.client.RestHighLevelClient.update(RestHighLevelClient.java:883)
	at search.collect.App.main(App.java:47)


声明:本站原创文章,转载、复制、使用等请注明出处。
标题ElasticSearch的upsert操作
作者jues
地址: http://blog.jues.org.cn/post/elasticsearch-de-upsert-cao-zuo.html

发表评论:

Powered By Z-BlogPHP 1.6.0 Valyria Powered By Z-BlogPHP © 2018 jues博客 Copyright Your WebSite.Some Rights Reserved.联系站长 Themes by jues

分享:

支付宝

微信