栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Java在Elasticsearch中通过查询更新

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Java在Elasticsearch中通过查询更新

从ES
2.3开始,按查询更新功能可用作REST端点,

_update_by_query
但不适用于Java客户端。为了从Java客户端代码中调用此端点,您需要
reindex
在pom.xml中包含该模块,如下所示

<dependency>    <groupId>org.elasticsearch.module</groupId>    <artifactId>reindex</artifactId>    <version>2.3.2</version></dependency>

然后,在构建客户端时需要包括以下模块:

clientBuilder.addPlugin(ReindexPlugin.class);

最后,您可以这样称呼它:

UpdateByQueryRequestBuilder ubqrb = UpdateByQueryAction.INSTANCE.newRequestBuilder(client);script script = new script("ctx._source.List = ["Item 1","Item 2"]");BulkIndexByScrollResponse r = ubqrb.source("twitter")    .script(script)    .filter(termQuery("user", "kimchy"))    .get();

更新

如果您需要指定更新应关注的类型,则可以执行以下操作:

ubqrb.source("twitter").source().setTypes("type1");BulkIndexByScrollResponse r = ubqrb.script(script)    .filter(termQuery("user", "kimchy"))    .get();


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/609531.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号