我需要更新或删除几个文档。
当我更新时,我这样做:
该操作一直进行到点1不再返回结果为止。
当我删除时,我这样做:
重复此操作,直到点1不再返回结果。
这是进行更新的正确方法吗?
删除时,是否可以发送多个ID一次删除多个文档?
对于删除和更新,如果要按ID删除或更新,可以使用批量api:
大量API 批量API使在单个API调用中执行许多索引/删除操作成为可能。这样可以大大提高索引速度。 可能的操作是索引,创建,删除和更新。index和create期望在下一行提供源,并且具有与标准索引API的op_type参数相同的语义(即,如果已经存在具有相同索引和类型的文档,则create将失败,而index将添加或替换文档有必要的)。delete在下一行中不需要源,并且具有与标准delete API相同的语义。更新期望在下一行指定部分doc,upsert和脚本及其选项。
大量API
批量API使在单个API调用中执行许多索引/删除操作成为可能。这样可以大大提高索引速度。
可能的操作是索引,创建,删除和更新。index和create期望在下一行提供源,并且具有与标准索引API的op_type参数相同的语义(即,如果已经存在具有相同索引和类型的文档,则create将失败,而index将添加或替换文档有必要的)。delete在下一行中不需要源,并且具有与标准delete API相同的语义。更新期望在下一行指定部分doc,upsert和脚本及其选项。
http://www.elasticsearch.org/guide/zh- CN/elasticsearch/reference/current/docs- bulk.html
您也可以通过查询删除:
按查询删除API 通过查询删除API允许根据查询从一个或多个索引以及一种或多种类型中删除文档。可以使用简单查询字符串作为参数来提供查询,也可以使用在请求正文中定义的查询DSL来提供查询。
按查询删除API
通过查询删除API允许根据查询从一个或多个索引以及一种或多种类型中删除文档。可以使用简单查询字符串作为参数来提供查询,也可以使用在请求正文中定义的查询DSL来提供查询。
http://www.elasticsearch.org/guide/zh- CN/elasticsearch/reference/current/docs-delete-by- query.html