有人可以解释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,但如果文档已经存在,则时间戳将被忽略并将设置为当前时间.是否有任何描述此行为的文档?
我是 Scala 中 Akka Streams 的学习者。当我在阅读时IncomingConnection
,我发现Flow#join
. 然后,我在评论中找到了以下图片Flow#join
。
+------+ +-------+
| | ~Out~> | |
| this | | other |
| | <~In~ | |
+------+ +-------+
Run Code Online (Sandbox Code Playgroud)
但是,我想知道它的结构是什么。我认为“加入”会形成一个循环。
所以我希望你解释什么结构“join”,并告诉我简单的示例代码使用 Flow#join