Elasticsearch对象创建测试中new HttpHost和Http.create的区别

es中new HttpHost和Http.create的区别

我们在进行es测试的时候,会对client对象的创建进行测试,发现将测试代码

   @BeforeEach//
    void setUp(){
        this.client = new RestHighLevelClient(
            RestClient.builder(
                 new HttpHost("http://192.168.101.100:9200")
            )
        );
    }

代码报错

修改之后:

这个细节报错所以我们就要去明白,一个是new,一个是create,同样都是类似创建一个对象的方法到底有什么区别。

new HttpHost("http://192.168.101.100:9200") 是使用 Apache HttpComponents 库创建一个新的 HttpHost 对象,该对象表示要连接的主机和端口。这种方法适用于使用 Apache HttpComponents 库进行更高级别的自定义配置和操作。

Http.create("http://192.168.101.100:9200") 是使用 Elasticsearch 客户端库(例如 Elasticsearch High-Level REST Client)提供的静态方法 Http.create 来创建一个新的 RestClient 对象。这种方法是为了简化 Elasticsearch 客户端的使用,并提供一些预定义的功能和配置。

所以,区别在于使用的库和创建的对象类型。前者是 Apache HttpComponents 库中的 HttpHost 对象,后者是 Elasticsearch 客户端库中的 RestClient 对象。

因此我们在es中需要的是restclient对象,因此我们需要用http.create方法进行对象的创建,大家也可以通过将鼠标放在类的名字上查看返回的对象,或者看继承的类或实现的类来观察他返回对象的类别。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值