zoukankan      html  css  js  c++  java
  • elasticsearch笔记(3) java操作es的index

    一: 准备es插件和elasticsearch-rest-high-level-client插件

     二.

       2.1创建索引连接

     1 @Test
     2     public void esTest() throws IOException {
     3     //        PUT /books
     4 //        {
     5 //            "settings": {
     6 //            "number_of_replicas": 1,
     7 //                    "number_of_shards": 5
     8 //        },
     9 //            "mappings": {
    10 //            "noval": {
    11 //                "properties": {
    12 //                    "name": {
    13 //                        "type": "text",
    14 //                                "analyzer": "ik_max_word",
    15 //                                "index": true,
    16 //                                "store": false
    17 //                    },
    18 //                    "author":{
    19 //                        "type": "keyword"
    20 //                    },
    21     
    22        String hostname = "192.168.43.30";
    23        Integer prot = 9200;
    24 
    25         // 设置索引  类型
    26         String index = "person";
    27         String type = "man";
    28 
    29 
    30         //设置索引的信息:分片 备份
    31         Settings.Builder settings = Settings.builder()
    32                 .put("number_of_shards", 5)
    33                 .put("number_of_replicas", 1);
    34         //构建mapping
    35         XContentBuilder mapping = JsonXContent.contentBuilder()
    36                 .startObject()
    37                   .startObject("properties")
    38                     .startObject("name")
    39                       .field("type","text")
    40                     .endObject()
    41                     .startObject("age")
    42                       .field("type","integer")
    43                     .endObject()
    44                   .endObject()
    45                 .endObject();
    46 
    47 //        构建索引
    48         CreateIndexRequest createIndexRequest = new CreateIndexRequest(index)
    49                 .settings(settings) //分盘和备份
    50                 .mapping(type,mapping);
    51 
    52 
    53        //链接es
    54         HttpHost httpHost = new HttpHost(hostname,prot);
    55         RestClientBuilder restClientBuilder = RestClient.builder(httpHost);
    56         RestHighLevelClient restHighLevelClient = new RestHighLevelClient(restClientBuilder);
    57         
    58         //创建索引连接
    59         CreateIndexResponse createIndexResponse = restHighLevelClient.indices()
    60                 .create(createIndexRequest, RequestOptions.DEFAULT);
    61       
    62 
    63     }

    2.2 检查索引是否存在

     1     public void findIndex() throws IOException {
     2      //  获取连接restHighLevelClient
     3         HttpHost httpHost = new HttpHost(HOST,PORT);
     4         RestClientBuilder restClientBuilder = RestClient.builder(httpHost);
     5         RestHighLevelClient restHighLevelClient = new RestHighLevelClient(restClientBuilder);
     6 
     7         GetIndexRequest getIndexRequest = new GetIndexRequest();
     8         getIndexRequest.indices("person");
     9 
    10         boolean exists = restHighLevelClient.indices()
    11                   .exists(getIndexRequest, RequestOptions.DEFAULT);
    12         System.out.println(exists);
    13 
    14     }

    2.3 删除索引

     1  public void deletIndex() throws IOException {
     2         //  获取连接restHighLevelClient
     3         HttpHost httpHost = new HttpHost(HOST,PORT);
     4         RestClientBuilder restClientBuilder = RestClient.builder(httpHost);
     5         RestHighLevelClient restHighLevelClient = new RestHighLevelClient(restClientBuilder);
     6 
     7         DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest();
     8         deleteIndexRequest.indices("person");
     9 
    10         AcknowledgedResponse delete = restHighLevelClient.indices()
    11                 .delete(deleteIndexRequest, RequestOptions.DEFAULT);
    12         System.out.println(delete.isAcknowledged());
    13 
    14     }
  • 相关阅读:
    自学android半年,已从.net转型成android程序员,分享下这个过程(转)
    深入浅出jsonp
    对程序员说点实在话(转)
    浅谈iOS学习之路(转)
    Quartz Cron表达式 在线生成器
    AutoMapper使用笔记
    毕业两年工作三年小结
    C#转C++的一点分享
    手机数据抓包以及wireshark技巧
    这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧。。。(转)
  • 原文地址:https://www.cnblogs.com/dangdanghepingping/p/14401766.html
Copyright © 2011-2022 走看看