ES 2.4 java API document APIs

来源:互联网 发布:java redis使用教程 编辑:程序博客网 时间:2024/06/05 06:49

暂时记录的只是我看的比较懂得

TransportClient  客户端的创建

Settings settings = Settings.settingsBuilder()        .put("cluster.name", "myClusterName").build();TransportClient client = TransportClient.builder().settings(settings).build();//Add transport addresses and do something with the client...

sniff 一般也是开启的,循环查询port数组上的节点

Settings settings = Settings.settingsBuilder()        .put("client.transport.sniff", true).build();TransportClient client = TransportClient.builder().settings(settings).build();

index API index接收的数据形式是json,而转换成json最基本的数据是byte[],所以只要把string、map等等数据类型转换成byte[],就有办法转换成json形式。

String json = "{" +        "\"user\":\"kimchy\"," +        "\"postDate\":\"2013-01-30\"," +        "\"message\":\"trying out Elasticsearch\"" +    "}";IndexResponse response = client.prepareIndex("twitter", "tweet")        .setSource(json)        .get();

也可以利用json builder创建json字符串

import static org.elasticsearch.common.xcontent.XContentFactory.*;XContentBuilder builder = jsonBuilder()    .startObject()        .field("user", "kimchy")        .field("postDate", new Date())        .field("message", "trying out Elasticsearch")    .endObject()
get API  setOperationThreaded是否应用于同步 查到的结果也是json形式
GetResponse response = client.prepareGet("twitter", "tweet", "1")        .setOperationThreaded(false)        .get();
delete API
DeleteResponse response = client.prepareDelete("twitter", "tweet", "1")        .setOperationThreaded(false)        .get();
bulk API 批量操作 builder.add.get

import static org.elasticsearch.common.xcontent.XContentFactory.*;BulkRequestBuilder bulkRequest = client.prepareBulk();// either use client#prepare, or use Requests# to directly build index/delete requestsbulkRequest.add(client.prepareIndex("twitter", "tweet", "1")        .setSource(jsonBuilder()                    .startObject()                        .field("user", "kimchy")                        .field("postDate", new Date())                        .field("message", "trying out Elasticsearch")                    .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()) {    // process failures by iterating through each bulk response item}




原创粉丝点击