ElasticSearch基本操作及批量插入

来源:互联网 发布:淘宝简介怎么写 编辑:程序博客网 时间:2024/05/16 17:30

ES版本采用5.5.2群集方式

pom

    <dependencies>        <dependency>            <groupId>org.elasticsearch.client</groupId>            <artifactId>transport</artifactId>            <version>5.5.3</version>        </dependency>        <dependency>            <groupId>org.apache.logging.log4j</groupId>            <artifactId>log4j-core</artifactId>            <version>2.8.2</version>        </dependency>    </dependencies>

log4j2

appender.console.type = Consoleappender.console.name = consoleappender.console.layout.type = PatternLayoutrootLogger.level = inforootLogger.appenderRef.console.ref = console

java基本操作

public class Test {    public static void main(String[] args) throws IOException {        System.out.print("====链接====");        Settings settings = Settings.builder()                .put("cluster.name", "es-cluster").build();        TransportClient client = new PreBuiltTransportClient(settings);        client.addTransportAddress(new InetSocketTransportAddress(                InetAddress.getByName("10.1.198.86"), 9300)); //群集端口        //新增        System.out.print("====新增====");        IndexResponse response = client.prepareIndex("jtthink", "users", "104")                .setSource(jsonBuilder()                        .startObject()                        .field("name", "niushijin")                        .field("age", "10")                        .field("sex", "1")                        .endObject()                )                .get();        System.out.println(response.status()+" "+response.getIndex());        //删除 "twitter", "tweet", "1"        System.out.print("====删除====");        DeleteResponse dr = client.prepareDelete("twitter", "tweet", "1").get();        System.out.println(dr.status()+" "+dr.getIndex());        //id查询        System.out.print("====id查询====");        GetResponse getResponse = client.prepareGet("jtthink", "users","101").get();        String msg = getResponse.getSourceAsString();        System.out.println(msg);        //更新        System.out.print("====更新====");        UpdateResponse ur = client.prepareUpdate("jtthink", "users", "101")                .setDoc(jsonBuilder()                        .startObject()                        .field("age", "100")                        .endObject())                .get();        System.out.println(ur.getResult()+" "+ur.status()); //NOOP OK        //query查询 全匹配        System.out.print("====query查询====");        QueryBuilder qb = matchQuery(                "name",                "shen"        );        SearchResponse sr = client.prepareSearch("jtthink")                .setTypes("users").setQuery(qb).get();        SearchHit[] result = sr.getHits().getHits();        for(SearchHit  searchHit: result){            System.out.println(searchHit.getSourceAsString());        }        client.close();    }}


java批量

public class TestBulk {    public static void main(String[] args) throws IOException {        System.out.print("====链接====");        Settings settings = Settings.builder()                .put("cluster.name", "es-cluster").build();        TransportClient client = new PreBuiltTransportClient(settings);        client.addTransportAddress(new InetSocketTransportAddress(                InetAddress.getByName("10.1.198.86"), 9300)); //群集端口        //批量添加        System.out.println("====批量添加====");        BulkRequestBuilder bulkRequest = client.prepareBulk();        for(int i=200; i<210; i++)            bulkRequest.add(client.prepareIndex("jtthink", "users", i + "")                    .setSource(jsonBuilder()                            .startObject()                            .field("name", "niu" + i)                            .field("age", "15")                            .field("sex", "1")                            .endObject()                    )            );/*        bulkRequest.add(client.prepareIndex("twitter", "tweet", "2")                .setSource(jsonBuilder()                        .startObject()                        .field("user", "kimchy")                        .field("postDate", new Date())                        .field("message", "another post")                        .endObject()                )        );*/        BulkResponse bulkResponse = bulkRequest.get();        if (bulkResponse.hasFailures()) {            System.out.println("====faile====");        }else{            System.out.println("====success====");        }    }}



原创粉丝点击