`

Elasticsearch 连接ES的两种方式

阅读更多

1、创建客户端节点来连接:

其中client(true)将node指定为客户端节点,所以这个不能写漏掉,客户端节点是不持有数据的,

Node node = NodeBuilder.nodeBuilder().clusterName(clusterName).client(true)
           .node();
Client client = node.client(); 

优势:

       通过此方式创建客户端能知道所有关于集群、索引、分片的信息,在操作上可以更快的执行。 

不足之处:

       启动时客户端节点必须加入集群并建立与其他节点的连接,此过程需要消耗时间和资源。

       当ES集群处于另一个局域网中时就不行了,所以一般不建议使用此方式。

 

2、使用传输机客户端来连接(即使用TransportClient来创建):

Settings settings = Settings.builder().put("cluster.name",clusterName).build();
client = TransportClient.builder().settings(settings).build();
client.addTransportAddress(new InetSocketTransportAddress(
                           InetAddress.getByName(host), port));

优势:

       启动速度快,不需要像前者那么多的socket连接。

不足之处:

       因为它不想前者那样知道集群、索引、分片的这些信息,所以在分发数据和查询上没前者快,不能直接发送到指定的节点或直接从某个节点去取数据,需要ES在其中进行一些额外的转发才能完成。      

 

TransportClient类的可用配置:

client.transport.sniff:默认值为false,当设置为true时,ES会读取集群中的节点信息。

client.transport.ignore_cluster_name:默认值为false,当设置为true时,ES会忽视配置中的集群名称并尝试连接到某个可连接集群上,而不管集群名称是否匹配。

client.transport.ping_timeout:默认为5s,此参数指定了ping命令响应的超时时间。

client.reansport.nodes_sampler_interval:默认为5s,此参数指定了检查节点可用性的时间间隔。

 

分享到:
评论

相关推荐

    基于.netcore搜索封装ElasticSearch.zip

    1. **配置连接**: 配置Elasticsearch的连接信息,如节点地址、端口、认证信息等。这通常在应用启动时完成。 2. **创建索引**: 定义数据模型并创建对应的Elasticsearch索引。索引是Elasticsearch中的逻辑存储单元,...

    elasticsearch安装和使用

    Elasticsearch提供多种查询方式,其中Term查询和Match查询是两种常见的文本匹配方式: - Term查询:这种查询方式是精确匹配,会忽略掉分析过程,直接查找原始的关键词。如果搜索的词与索引中的完全相同,那么才会...

    springMVC整合elasticsearch,基于maven

    在IT行业中,SpringMVC和Elasticsearch是两个非常重要的技术组件。SpringMVC作为Spring框架的一部分,主要用于构建Web应用程序的模型-视图-控制器(MVC)架构,而Elasticsearch则是一种分布式、RESTful风格的搜索和...

    【springboot-集成篇】springboot整合ElasticSearch的两种方式(非连接池,附源码)

    在本文中,我们将深入探讨如何将Spring Boot与Elasticsearch集成,主要介绍两种不同的整合方法。Elasticsearch是一个流行的开源搜索引擎,广泛用于大数据分析、日志处理和全文搜索。Spring Boot,作为Java开发的...

    elasticsearch-analysis-dynamic-synonym-7.12.1.zip

    4. **httpclient-4.5.13.jar** 和 **httpcore-4.4.13.jar**:这两个是Apache HTTP客户端库,用于处理HTTP请求和响应,可能是插件与Elasticsearch集群通信的方式之一。 5. **analysis-common-7.10.2.jar**:这是...

    elasticsearch插件

    安装Elasticsearch-head通常有两种方式:一是作为独立应用运行,二是作为Elasticsearch的插件。从提供的"elasticsearch-head-master"文件来看,这可能是源码版本,用户需要自行编译并运行。具体步骤如下: 1. 解压...

    ElasticSearch个人详细总结

    IK 分词器有两种模式:`ik_smart` 和 `ik_max_word`。 - `ik_smart`:最小切分,适合关键词检索。 - `ik_max_word`:最细粒度划分,适合全文检索。 安装 IK 分词器时,需要确保版本与 Elasticsearch 匹配。配置...

    SSM框架与ElasticSearch 无缝链接 并提供查询工具类

    3. **MyBatis**:是一个持久层框架,它允许开发者用SQL语句直接操作数据库,同时支持XML和注解两种方式配置映射,简化了数据库操作。 接下来,我们将关注Elasticsearch的集成: 1. **Elasticsearch**:基于Lucene...

    elasticsearch5.2-PHP 代码

    在IT行业中,Elasticsearch是一种极其重要的开源全文搜索引擎,它基于Lucene库,提供分布式、实时、可扩展的搜索和分析功能。而PHP是广泛应用于Web开发的编程语言,因此,将Elasticsearch与PHP结合使用能为开发者...

    spring-data-elasticsearch

    7. Java配置和XML配置:Spring Data Elasticsearch支持Java配置和XML配置两种方式,以便于开发者根据项目需求和熟悉程度选择合适的配置方式。 8. Stream处理:在数据处理上,Spring Data Elasticsearch支持使用Java...

    elasticsearch-analysis-dynamic-synonym-7.0.0.zip

    4. `plugin-security.policy` 和 `plugin-descriptor.properties`:这两个文件是Elasticsearch插件的标准配置文件,定义了插件的安全策略和元数据。 5. `config` 文件夹:可能包含插件所需的配置文件,如连接数据库...

    从SQLServer收集事件并将其保存到Elasticsearch以便进行进一步分析

    SQL Server提供了SQL Server Profiler和Extended Events两种主要的监控工具。SQL Server Profiler主要用于捕获和记录数据库的活动,包括查询执行、登录失败等事件。Extended Events则更为轻量级且灵活,能更高效地...

    Integration betweena Elasticsearch and Spark

    在查询Elasticsearch方面,文档指出了两种方式:直接使用Elasticsearch的查询语言(Elasticsearch SQL),以及通过Spark来查询Elasticsearch。前者利用了Elasticsearch自身的查询功能,后者则通过Elasticsearch-...

    Elasticsearch-HBase-replication同步

    Elasticsearch-HBase Replication是一种技术方案,旨在实现在HBase和Elasticsearch之间进行数据同步,以便在两个系统间共享和检索数据。HBase是一个分布式、版本化的NoSQL数据库,适合大规模数据存储,而Elastic...

    使用Hbase协作器(Coprocessor)同步数据到ElasticSearch(hbase 版本 1.2.0-cdh5.8.0, es 2.4.0 版本)

    3. **连接Elasticsearch**:在Coprocessor中,使用Elasticsearch的Java API建立与ES集群的连接,创建索引和映射,然后将HBase中的数据写入相应的Elasticsearch索引。 4. **处理数据**:根据业务需求,可能需要对...

    spring-data连接elasticsearch

    5. **TransportClient与RestHighLevelClient**:Spring Data Elasticsearch支持两种客户端连接Elasticsearch:TransportClient(已废弃,适用于旧版本)和RestHighLevelClient(推荐使用),后者基于...

    Python-同步mysql数据到elasticsearch的工具

    总的来说,"Python-同步mysql数据到elasticsearch的工具"是一个实用的桥梁,它连接了两种不同类型的数据库系统,使得在大数据分析和实时检索场景下,能够充分利用MySQL的稳定存储和Elasticsearch的高效检索。...

    Elasticsearch7.10.0集成IK相关性同义词改源码实现MySql5.7.2实现远程动态同义词词库实时更新.pdf

    具体可以采用以下两种方式: 1. **创建mapping时指定同义词**:在创建索引的mapping时,可以在settings的analysis部分定义同义词过滤器,然后创建一个分词器来使用这个过滤器。之后在mapping定义中指定字段使用这个...

    Play-Framework-ElasticSearch-Module

    具体配置方法有两种,一种是在本地模式下运行嵌入式Elasticsearch实例,适用于开发环境;另一种是客户端模式,连接到外部的Elasticsearch实例,适合生产环境的部署策略。 总之,Play-Framework-ElasticSearch-...

Global site tag (gtag.js) - Google Analytics