Mik*_*der 8 java elasticsearch
有人可以解释IndexRequest和Elasticsearch 的UpdateRequest之间的区别吗?UpdateRequest(类级别)的javadoc为空,我找不到任何文档.
在将其添加到批量操作之前,我发现了一些包含IndexRequest
内部的代码UpdateRequest
,但是我发现它BulkRequestBuilder
不需要UpdateRequest
并且可以IndexRequest
直接使用,这样做是不是有任何优势?
IndexRequest indexRequest = new IndexRequest(indexName, typeName, docId)
.source(doc);
UpdateRequest updateRequest = new UpdateRequest(indexName, typeName, docId)
.doc(doc)
.upsert(indexRequest);
Run Code Online (Sandbox Code Playgroud)
我还观察到你可以设置文档时间戳IndexRequest
,但不能设置UpdateRequest
.如果IndexRequest
包含在一个UpdateRequest
,并且doc是一个新文档,则时间戳将写入Elasticsearch,但如果文档已经存在,则时间戳将被忽略并将设置为当前时间.是否有任何描述此行为的文档?
IndexRequest
定义要添加到 ElasticSearch 的文档,而不是UpdateRequest
实际执行添加到 ElasticSearch 的文档。
注意:如果文档不存在,则期望使用UpdateRequest.upsert()
单独的文件。IndexRequest
这使您能够在文档已存在的情况下使用部分文档。
归档时间: |
|
查看次数: |
672 次 |
最近记录: |