美文网首页
163Elasticsearch 基础入门--elasticse

163Elasticsearch 基础入门--elasticse

作者: Jachin111 | 来源:发表于2021-09-24 07:04 被阅读0次

    index 简介

    一个 index 是一个索引的集合,比如淘宝的商品信息和里面资讯信息肯定是两个不同的索引,Index 可以理解为逻辑数据库。

    创建索引

    创建 Maven 项目 syl_es
    因为升级后的环境自带的 Eclipse 没有 Maven,所以我们使用 ScalaIDE。

    $ cd ~
    $ wget https://labfile.oss.aliyuncs.com/courses/1014/scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz
    $ tar -zxvf scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz
    $ cd eclipse
    $ ./eclipse
    

    等待启动完毕后全程需要保持终端窗口运行,然后点击 Launch。

    image.png
    等待主页面加载完毕后,选择 File -> New -> Other,新建一个 Maven 项目 syl_es ,包名为 com.syl.es,选择 quickstart 生成项目。
    image.png
    在 pom 中加入 elasticsearch 的 jar 配置
    <dependency>
        <groupId>org.elasticsearch</groupId>
        <artifactId>elasticsearch</artifactId>
        <version>2.3.4</version>
    </dependency>
    
    image.png
    导入 maven 的 jar 包(由于环境原因,在显示 build success 后可能会等待一些时间才能导入 jar 包)
    image.png
    创建类编写创建索引的代码
    在 com.syl.es下新建 CreateIndex 类,写入代码:
    package com.syl.es;
    import java.net.InetAddress;
    
    import org.elasticsearch.client.Client;
    import org.elasticsearch.client.transport.TransportClient;
    import org.elasticsearch.common.settings.Settings;
    import org.elasticsearch.common.transport.InetSocketTransportAddress;
    
    public class CreateIndex {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            createCluterName("user");    //调用创建索引函数
        }
        /**
         * 创建索引
         * @param indices 索引名称
         */
         public static void createCluterName(String indices){
             //索引服务的地址
             String elasticServer= "127.0.0.1";
             //索引服务的端口
             Integer elasticServerPort = 9300;
             Client client=null;
             try{
                 //初始化连接
                 Settings settings = Settings.settingsBuilder()
                         .build();
                 client = TransportClient.builder().settings(settings).build()
                          .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(elasticServer),
                                  elasticServerPort));
                 //创建索引
                 client.admin().indices().prepareCreate(indices).execute().actionGet();
                 //关闭连接
                 client.close();
             }catch (Exception e) {
                 e.printStackTrace();
             }
         }
    }
    

    以 Java Application 的方式,运行CreateInde.java文件。
    查看索引
    打开浏览器访问 head 地址http://127.0.0.1:9200/_plugin/head查看索引创建情况

    image.png
    此时我们看到已经成功创建索引 user,并且默认 5 个分片,1 个副本。接下来,我们继续讲解如何删除索引。

    删除索引

    修改CreatIndex类,添加删除索引函数

        /**
         * 删除索引
         * @param indices 索引名称
         */
          public static void deleteCluterName(String indices){
              //索引服务的地址
              String elasticServer= "127.0.0.1";
              //索引服务的端口
              Integer elasticServerPort = 9300;
              Client client=null;
              try{
                  //初始化连接
                  Settings settings = Settings.settingsBuilder()
                          .build();
                  client = TransportClient.builder().settings(settings).build()
                           .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(elasticServer),
                                   elasticServerPort));
                  //删除索引
                  client.admin().indices().prepareDelete(indices).execute().actionGet();
                  //关闭连接
                  client.close();
              }catch (Exception e) {
                  e.printStackTrace();
              }
          }
    

    修改主函数,调用删除索引函数
    注释掉 createCluterName 的调用,增加调用删除索引函数。

        public static void main(String[] args) {
              //调用创建索引方法
            //createCluterName("user");
              //调用删除索引方法
              deleteCluterName("user");
        }
    

    运行代码
    以 Java Application 的方式,运行CreateInde.java文件。
    查看结果
    打开浏览器访问 head 地址http://127.0.0.1:9200/_plugin/head可以查看到之前创建的索引消失了。

    相关文章

      网友评论

          本文标题:163Elasticsearch 基础入门--elasticse

          本文链接:https://www.haomeiwen.com/subject/rnengltx.html