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。
等待主页面加载完毕后,选择 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查看索引创建情况
此时我们看到已经成功创建索引 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可以查看到之前创建的索引消失了。
网友评论