我们有用数据将每天更新。文档更改的一些属性和一些新记录就在那里。是否可以使用已更新的值重新索引数据,并且已添加新的reocord。 如果是,请解释如何。
是否有更新API?
我正在像这样索引
String json = getJsonMapper().writeValueAsString(data);
bulkRequestBuilder.add(getClient().prepareIndex(indexName, typeName).setSource(json));
我没有传递任何身份证明。我该如何更新呢什么是最好的方式
答案 0 :(得分:1)
Elasticsearch
在封面下使用Apache Lucene
。在Lucene
文档中immutable。
您可以将Update API用于您的用例。此API执行删除并保存在下面,但这并不关心您。您甚至可以更新文档的一部分,这意味着Elasticsearch
将检索旧文档,生成新文档,删除旧文档并保存新文档。
问题在于,所有这一切都需要使用相同的ID。如果您不使用,那么Elasticsearch
Departments
将为您使用Index API。这意味着它将保存为新文档。
Update API需要id,否则它不知道要更新的内容。