ES--创建--TransportClient

创建ES连接(官网说es7之后不建议使用, 8之后就不再维护了, 不建议使用)

java程序使用的连接方式是tcp连接,需要使用9300端口

如果是在es可视化工具使用的是http连接, 使用9200端口

1 导入相关依赖

        <dependency>

            <groupId>org.elasticsearch</groupId>

            <artifactId>elasticsearch</artifactId>

            <version>5.2.2</version>

        </dependency>

        <dependency>

            <groupId>org.elasticsearch.client</groupId>

            <artifactId>transport</artifactId>

            <version>5.2.2</version>

        </dependency>

        <dependency>

            <groupId>org.elasticsearch.plugin</groupId>

            <artifactId>transport-netty4-client</artifactId>

            <version>5.2.2</version>

        </dependency>

2 创建相关连接

3 注入对象使用

4 优缺点:

  优点: 启动速度快,可以创建多个连接,与程序没有太大耦合

  缺点: 需要程序配置,并且查询速度慢,不能获取指定节点数据 

Spring Data Elasticsearch 3.1.9 版本是基于 Spring Data 的一个模块,用于简化与 Elasticsearch 集成的操作。在这个版本中,默认使用的客户端是 `elasticsearch-rest-high-level-client`。 以下是关于它们之间的一些关键点: ### 主要特点 1. **默认使用 REST High Level Client**: - 自从 Spring Data Elasticsearch 3.x 开始,官方推荐并集成的是 `rest-high-level-client` 而不是旧版的 Transport Client。 - 这一选择是因为 `rest-high-level-client` 更加现代、高效,并且支持 HTTP 协议连接到集群。 2. **Elasticsearch 版本兼容性**: - Spring Data Elasticsearch 3.1.9 默认适配的是 Elasticsearch 7.x 系列版本。 - 因此,在项目依赖配置时需要明确指定对应的 ElasticSearch 和其高阶 Rest 客户端库版本(如 elasticsearch-rest-high-level-client),通常建议选用匹配好的 BOM (Bill of Materials) 来管理一致性的版本。 3. **核心功能支持**: - 提供了 Repository 接口以便于声明式查询操作数据存储; - 支持复杂搜索条件构建以及聚合分析等高级特性。 4. **迁移注意事项**: 如果是从早期采用 transport client 的应用迁移到 spring-data-elasticsearch,则需要注意 API 差异及索引映射定义的变化。 5. 示例代码片段展示如何设置 repository 并完成基本 CRUD 操作即可体现该框架易用之处。 ```java // 引入必要的 Maven 或 Gradle 依赖... <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> <version>对应版本号例如 2.6.x </version> // 注意这里的版本也要保持同步 </dependency> // 创建实体类并标注 @Document 注解指向 ES 中 index name @Repository public interface ArticleRepository extends ElasticsearchRepository<Article, String> { } @Service public class ArticleService { private final ArticleRepository articleRepository; public ArticleService(ArticleRepository articleRepository){ this.articleRepository = articleRepository; } public Iterable<Article> findAllArticles(){ return articleRepository.findAll(); } } ``` 上述简单例子展示了利用 SD Elastcisearch 实现文章列表获取的过程。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值