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 次 |
| 最近记录: |