首页 > 代码库 > Elasticsearch5.0 Java Api(五) -- 批量导出索引
Elasticsearch5.0 Java Api(五) -- 批量导出索引
从索引库中将检索到的数据导出到外部文件,文件格式为.json
1 package com.juyun.test; 2 3 import java.io.BufferedWriter; 4 import java.io.File; 5 import java.io.FileWriter; 6 import java.io.IOException; 7 import java.net.InetAddress; 8 import java.net.UnknownHostException; 9 10 import org.elasticsearch.action.search.SearchResponse;11 import org.elasticsearch.client.transport.TransportClient;12 import org.elasticsearch.common.settings.Settings;13 import org.elasticsearch.common.transport.InetSocketTransportAddress;14 import org.elasticsearch.index.query.QueryBuilder;15 import org.elasticsearch.index.query.QueryBuilders;16 import org.elasticsearch.search.SearchHits;17 import org.elasticsearch.transport.client.PreBuiltTransportClient;18 19 public class ElasticsearchBulkOut {20 21 /**22 * 把索引库中的文档以json格式批量导出到文件中23 * @param args24 */25 public static void main(String[] args) {26 27 try {28 // 设置集群名称 29 Settings settings = Settings.builder().put("cluster.name", "elasticsearch").build();30 // 创建client31 TransportClient client = new PreBuiltTransportClient(settings)32 .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("172.16.0.157"), 9300));33 34 SearchResponse response = client.prepareSearch("flow")35 .setTypes("data")36 .setSize(5000)37 .setQuery(QueryBuilders.matchAllQuery())38 .execute().actionGet();39 SearchHits resultHits = response.getHits();40 41 File article = new File("C:/Users/juyun/Desktop/data.json");42 FileWriter fw = new FileWriter(article);43 BufferedWriter bfw = new BufferedWriter(fw);44 45 if (resultHits.getHits().length == 0) {46 System.out.println("查到0条数据!");47 48 } else {49 for (int i = 0; i < resultHits.getHits().length; i++) {50 String jsonStr = resultHits.getHits()[i]51 .getSourceAsString();52 System.out.println(jsonStr);53 bfw.write(jsonStr);54 bfw.write("\n");55 }56 }57 bfw.close();58 fw.close();59 60 } catch (UnknownHostException e) {61 e.printStackTrace();62 } catch (IOException e) {63 e.printStackTrace();64 }65 }66 67 }
Elasticsearch5.0 Java Api(五) -- 批量导出索引
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。