php使用Elasticsearch-api之update_by_query操作
2017-04-11 22:41
681 查看
update_by_query是elasticsearch通过查询条件进行文档更新操作
使用update_by_query要满足如下条件:
1、根据查询条件进行文档更新的API是在Elasticsearch2.3+以上版本加上的
2、在Elasticsearch配置文件elasticsearch.ymf中加入如下配置项
script.inline: on
script.indexed: on
PHP使用update_by_query代码如下
执行后的响应体例子如下
使用update_by_query要满足如下条件:
1、根据查询条件进行文档更新的API是在Elasticsearch2.3+以上版本加上的
2、在Elasticsearch配置文件elasticsearch.ymf中加入如下配置项
script.inline: on
script.indexed: on
PHP使用update_by_query代码如下
$params = [ 'index' => 'my_index', 'body' => [ 'query' => [ 'bool' => [ 'must' => [ 'range' => [ 'age' => [ 'gt' => '20', 'lt' => '40' ] ] ] ] ], 'script' => [ 'inline' => "ctx._source.name=\"青年人\"; ctx._source.age=30" ] ] ]; $client = Elasticsearch\ClientBuilder::create()->setHosts(['127.0.0.1:9200'])->build(); $res = $client->updateByQuery($params);
执行后的响应体例子如下
{ "took" : 639, #从整个操作的开始到结束的毫秒数。 "deleted": 0, #删除的数目 "batches": 1, #通过查询删除的滚动响应数量。 "version_conflicts": 2, #由查询命令删除的版本冲突数。 "retries": 0, #查询删除的重试次数是响应于完整队列 "throttled_millis": 0, #请求睡眠符合的毫秒数requests_per_second。 "failures" : [ ] #所有索引失败的数组。如果这是非空的,那么请求因为这些失败而中止。 }
相关文章推荐
- php使用Elasticsearch-api之delete_by_query操作
- Elasticsearch的javaAPI之facet,count,delete by query
- 1.利用android提高的的insert,query,update,deleteAPI与execSql,rawQuery函数执行原生的插入,查询,更新,删除语句操作花费时间的对比结果
- ArcGIS API for JavaScript 4.2学习笔记[20] 使用缓冲区结合Query对象进行地震点查询【重温异步操作思想】
- Elasticsearch的PHP的API使用(一)
- Elasticsearch的数据导出和导入操作(elasticdump工具),以及删除指定type的数据(delete-by-query插件)
- ElasticSearch2.3.1使用delete-by-query插件
- [ElasticSearch]使用 java API 进行CRUD操作
- ElasticSearch的update_by_query方法
- elasticsearch之Document APIs【Delete By Query API】
- elasticsearch 5.x Delete By Query API(根据条件删除)
- 分布式搜索引擎elasticsearch PHP API index bulk 批量插入操作
- 使用JPA中@Query 注解实现update 操作
- 使用JPA中@Query 注解实现update 操作
- elasticsearch UpdateByQuery的使用
- ElasticSearch的查询相关操作---使用es的api和结果遍历
- PHP调用elasticsearch的_update_by_query接口
- 使用JPA中@Query 注解实现update 操作
- elasticsearch api中的Update API操作
- php使用Elasticsearch之批量操作(bulk)