从零开始学ElasticSearch ES,Java high level Rest Client配置文件详情

一 : curl 连接ES服务器

Windows 安装curl,配置环境
https://jingyan.baidu.com/article/e3c78d64897d303c4c85f52d.html
这里说的很清楚,但是注意一点配置完环境变量是要重启电脑,才会生效的。
重启之后打开,命令行,

curl -u username:password url地址

在这里插入图片描述
返回如上内容表示连通。

二 常用curl es语句

1 查看全部内容
浏览器查看 (没有密码)

http://192.168.79.131:9200/_search?pretty                                                                                                                                                                                                                                                                                                                           

在这里插入图片描述

有密码的

curl -u username:password xx.xxx.xxx.xxx:xxxx/_search?pretty

在这里插入图片描述
2 查询某个库 全局搜之后看index; index就是索引库名字 type就是类型

//查询索引库shb01中的类型student

浏览器:http://192.168.79.131:9200/shb01/student/_search?pretty
命令行 curl -XGET http://192.168.79.131:9200/shb01/student/_search?pretty

3 :查询文档1中的数据
文档就是 _id:1 那个是文档

http://192.168.79.131:9200/shb01/student/1?pretty

http://192.168.79.131:9200/shb01/student/1?_source&pretty

两者结果一样

4:根据条件查询
q= 后面加查询条件
name:zs 找name为zs的

浏览器:http://192.168.79.131:9200/shb01/student/_search?q=name:zs&pretty

查询name为zs的数据
在这里插入图片描述
5:查询集群状态

Curl –XGET http://192.168.79.131:9200/_cluster/health?pretty

http://192.168.79.131:9200/_cluster/health?pretty

在这里插入图片描述

增删都可以用curl来实现 详细看下面的链接
https://www.cnblogs.com/jing1617/p/8060421.html
这个链接说的很清楚

二 ++ 使用postman来联通

username:password@10.203.111.119:9200/_cat/indices

三 Java 连接 es 使用

Java High Level REST Client
rest client 无论是 low level 还是 high level 都是比较主流常用的连接方式。
https://www.cnblogs.com/ginb/p/8716485.html

ESConfig.java

package xxx.xxx.common.config;

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpHost;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;

import java.util.ArrayList;
import java.util.List;


@Configuration
@Slf4j
public class ESConfig {
   

    @Value("${elasticsearch.nodes}")
    private String clusterNodes;
    @Value("${elasticsearch.schema}")
    private String schema;
    @Value("${elasticsearch.max-connect-total}")
    private Integer maxConnectTotal;
    @Value("${elasticsearch.max-connect-per-route}")
    private Integer maxConnectPerRoute;
    @Value("${elasticsearch.connection-request-timeout-millis}")
    private Integer connectionRequestTimeoutMillis;
    @Value("${elasticsearch.socket-timeout-millis}")
    private Integer socketTimeoutMillis;
    @Value("${elasticsearch.connect-timeout-millis}")
    private Integer connectTimeoutMillis;
    @Value("${elasticsearch.username}")
    private String userName;
    @Value("${elasticsearch.password}")
    private String password;

    @Bean
    @Primary
    public RestHighLevelClient getRestHighLevelClient() {
   
        List<HttpHost> httpHostList = new ArrayList<>();
        if (StringUtils.isNotBlank(clusterNodes)) {
   
            for (String address : clusterNodes.split(",")) {
   
                String[] hostAndPort = address.split(":");
                String host = hostAndPort[0];
                Integer port = Integer.parseInt(hostAndPort[1]);
                httpHostList.add(new HttpHost(host, port, schema));
            }
        }
        return EsClientBuilder.build(httpHostList)
                .setConnectionRequestTimeoutMillis(connectionRequestTimeoutMillis)
                .setConnectTimeoutMillis(connectTimeoutMillis)
                .setSocketTimeoutMillis(socketTimeoutMillis)
                .setMaxConnectTotal(maxConnectTotal)
                .setMaxConnectPerRoute(maxConnectPerRoute)
                .setUserName(userName)
                .setPassword(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值