【无标题】RestHighLevelClient工具类
生活随笔
收集整理的這篇文章主要介紹了
【无标题】RestHighLevelClient工具类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
添加文檔? source是要保存的數據? 把實體轉成json就行了? ?
String source = JSONObject.toJSONString(xxxVO) public static void addBatchMember(RestHighLevelClient restHighLevelClient,String index, String source) {BulkRequest request = new BulkRequest();request.add(new IndexRequest(index).source(source, XContentType.JSON));esBatchAdd(restHighLevelClient,request, index);}/*** 批量插入數據** @param bulkRequest* @param index*/private static void esBatchAdd(RestHighLevelClient restHighLevelClient, BulkRequest bulkRequest, String index) {try {restHighLevelClient.bulk(bulkRequest, RequestOptions.DEFAULT);} catch (Exception e) {}log.info("插入數據----------------------{}", bulkRequest.requests().size());}根據條件修改文檔
public static void main(String[] args) {RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost("10.10.10.10", 9208, "http")));UpdateByQueryRequest updateByQueryRequest = new UpdateByQueryRequest();//如果索引有多個 updateByQueryRequest.indices("index1","index2","index3");//如果索引有多個并且以集合的方式傳過來 List<String> indexListString[] objects = indexList.toArray(new String[indexList.size()]);//寫法一:updateByQueryRequest.indices("index1","index2","index3");//寫法二:updateByQueryRequest.indices(objects );//只有一個條件,直接寫就行了// updateByQueryRequest.setQuery(new TermQueryBuilder("tall", 180.0));//有多個查詢條件//must代表and should代表orBoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery().must(QueryBuilders.termQuery("name","wangjunbo")).must(QueryBuilders.termQuery("tall","180.0"));updateByQueryRequest.setQuery(boolQueryBuilder);updateByQueryRequest.setScript(new Script(ScriptType.INLINE,"painless","ctx._source.name='修改后的name';ctx._source.idcard='修改后的idcard'", Collections.emptyMap()));//數據為存儲而不是更新try {client.updateByQuery(updateByQueryRequest, RequestOptions.DEFAULT);log.info("修改成功");} catch (IOException e) {e.printStackTrace();}}總結
以上是生活随笔為你收集整理的【无标题】RestHighLevelClient工具类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot整合redis集群m
- 下一篇: centos7 安装rabbitMq