我需要在弹性搜索中通过脚本进行批量更新,而不需要指定文档id。在“图书”文档类型中,我有作者的名字。如果我重命名作者的名字,我需要批量更新所有的‘图书’,其中有更新的作者名称使用脚本。
是否需要获得所有具有作者姓名的图书ids并更新所有书籍?
BulkResponse bulkResponse = client.prepareBulk().add(client.prepareUpdate().setIndex("test").setType("books").setScript(script)).execute().actionGet();通过使用上述代码,我将得到以下异常
org.elasticsearch.action.ActionRequestValidationException: Validation Failed: 1: id is missing;发布于 2014-03-28 09:51:26
您提到的是update查询功能。它还没有上市,但由于有大量的需求,我想总有一天它会上市,你可以从github:https://github.com/elasticsearch/elasticsearch/issues/1607的相关问题上得到一些好处。它之所以没有实现,是因为它具有潜在的危险性,因为它可能导致大量更新和可能长时间运行的查询,而这些查询此时无法停止。
https://stackoverflow.com/questions/22706493
复制相似问题