微服务 教程
1085个小节阅读:196.1k
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
xxxxxxxxxx
// 创建空索引
public void createIndex() throws IOException {
// 1.创建客户端对象,连接ES
RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost("192.168.0.187", 9200, "http")));
// 2.创建请求对象
CreateIndexRequest request = new CreateIndexRequest("student");
// 3.发送请求
CreateIndexResponse response = client.indices().create(request, RequestOptions.DEFAULT);
// 4.操作响应结果
System.out.println(response.index());
// 5.关闭客户端
client.close();
}
外部无法访问ES的解决方案:
打开Elasticsearch安装路径下config目录下的elasticsearch.yml文件,加入如下配置:
xxxxxxxxxx
discovery.seed_hosts"host1"
network.host0.0.0.0
重新启动ES即可。
PS:如果修改配置文件后,启动报错
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
,解决方案如下:编辑 /etc/security/limits.conf,添加以下内容;
xxxxxxxxxx
soft nofile 65536
hard nofile 65536
修改后重新登录es用户,启动ES即可
xxxxxxxxxx
public void mappingIndex() throws IOException {
// 1.创建客户端对象,连接ES
RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost("192.168.0.187", 9200, "http")));
// 2.创建请求对象
PutMappingRequest request = new PutMappingRequest("student");
request.source("{\n" +
" \"properties\":{\n" +
" \"id\":{\n" +
" \"type\":\"integer\"\n" +
" },\n" +
" \"name\":{\n" +
" \"type\":\"text\"\n" +
" },\n" +
" \"age\":{\n" +
" \"type\":\"integer\"\n" +
" }\n" +
" }\n" +
"}", XContentType.JSON);
// 3.发送请求
AcknowledgedResponse response = client.indices().putMapping(request, RequestOptions.DEFAULT);
// 4.操作响应结果
System.out.println(response.isAcknowledged());
// 5.关闭客户端
client.close();
}
xxxxxxxxxx
// 删除索引
public void deleteIndex() throws IOException {
// 1.创建客户端对象,连接ES
RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost("192.168.0.187", 9200, "http")));
// 2.创建请求对象
DeleteIndexRequest request = new DeleteIndexRequest("student");
// 3.发送请求
AcknowledgedResponse response = client.indices().delete(request, RequestOptions.DEFAULT);
// 4.操作响应结果
System.out.println(response.isAcknowledged());
// 5.关闭客户端
client.close();
}
1. 原生JAVA连接ES的对象为
A RestHighLevelClient
B HighLevelClient
C RestLevelClient
D RestHighClient
1=>A