es相关介绍:yml配置、基础接口及方法介绍

2024-01-08 15:31:09

下面是一个示例的 Easy-ES 的 YAML 配置文件:

easy-es:
  enable: true
  address: 192.168.1.145:9200
  username: your_username
  password: your_password
  connectionTimeout: 5000
  socketTimeout: 60000
  maxRetryTimeout: 30000
  maxConnTotal: 30
  maxConnPerRoute: 10
  requestConfig:
    connectTimeout: 5000
    socketTimeout: 60000
    connectionRequestTimeout: 5000

解释一下各个配置项的含义:

enable: 是否启用 Easy-ES,设置为 true 表示启用。
address: Elasticsearch 服务器的地址和端口。
username: Elasticsearch 服务器的用户名(可选)。
password: Elasticsearch 服务器的密码(可选)。
connectionTimeout: 连接 Elasticsearch 的超时时间,单位为毫秒。
socketTimeout: 与 Elasticsearch 进行通信的套接字的超时时间,单位为毫秒。
maxRetryTimeout: 最大的重试超时时间,即在重试期间最多等待的时间,单位为毫秒。
maxConnTotal: 允许的最大连接数。
maxConnPerRoute: 每个目标主机允许的最大连接数。
requestConfig: 请求配置相关的参数。
    connectTimeout: 请求连接的超时时间,单位为毫秒。
    socketTimeout: 等待响应的超时时间,单位为毫秒。
    connectionRequestTimeout: 从连接管理器获取连接的超时时间,单位为毫秒。

根据实际情况,你可以根据上述示例进行相应的配置,确保 Easy-ES 能够正确连接到你的 Elasticsearch 服务器。

当 Easy-ES 配置完毕后,createIndex() 方法将会自动连接 Elasticsearch。

Easy-ES 通过在 Spring Boot 启动类中自动配置 RestHighLevelClient 对象来连接 Elasticsearch。而在 RestHighLevelClient 对象的创建过程中,就已经将 address 参数传入其中,这样就实现了自动连接 Elasticsearch 的功能。

至于 UmsSmsClientEsMapper 接口中的方法,它们操作的是 Elasticsearch 中的索引,与数据库表无关。在 Easy-ES 中,我们可以通过继承 BaseEsMapper 接口来实现对 Elasticsearch 索引的增删改查操作,这些操作都是基于 Elasticsearch 的 API 实现的。

9200端口和5601端口区别:

http://192.168.1.145:9200/ 是Elasticsearch的API端点。Elasticsearch是一个分布式搜索和分析引擎,用于存储和检索大量数据。这个URL地址可以用于与Elasticsearch进行交互,执行各种搜索、索引和管理操作。

http://192.168.1.145:5601/ 是Kibana的Web界面。Kibana是一个开源的数据可视化工具,用于在Elasticsearch上分析和可视化数据。通过这个URL地址,您可以访问Kibana的仪表板、图表和查询工具,以便更好地理解和呈现存储在Elasticsearch中的数据。

因此,两个URL地址提供了不同的功能和用途,分别用于与Elasticsearch和Kibana进行交互。

<dependency>
	<groupId>org.dromara.easy-es</groupId>
	<artifactId>easy-es-boot-starter</artifactId>
	<version>2.0.0-beta3</version>
</dependency>

org.dromara.easy-es:easy-es-boot-starter:2.0.0-beta3 是 Easy-ES 的 Spring Boot Starter 依赖,它是一个用于简化 Elasticsearch 操作的框架。在这个依赖中,BaseEsMapper 是其中一个重要的类。

BaseEsMapper 是 Easy-ES 框架中的一个基础接口,用于定义 Elasticsearch 操作的基本方法。它提供了一系列的增删改查方法,用于操作 Elasticsearch 中的文档。具体而言,BaseEsMapper 包含以下方法:

getEntityClass(): 返回当前泛型实体类的类型。
existsIndex(String indexName): 检查给定名称的索引是否存在。
getIndex(): 获取默认索引的信息。
getIndex(String indexName): 获取给定名称的索引的信息。
createIndex(): 创建默认索引。
createIndex(String indexName): 创建给定名称的索引。
createIndex(Wrapper<T> wrapper): 根据给定的索引配置信息创建索引。
updateIndex(Wrapper<T> wrapper): 更新指定索引的配置信息。
deleteIndex(String... indexNames): 删除指定名称的索引。
refresh(): 刷新所有索引。
refresh(String... indexNames): 刷新指定名称的索引。
executeSQL(String sql): 执行 SQL 语句。
executeDSL(String dsl): 执行 DSL 语句。
executeDSL(String dsl, String indexName): 在指定索引上执行 DSL 语句。
search(Wrapper<T> wrapper): 根据给定的查询条件进行搜索。
getSearchSourceBuilder(Wrapper<T> wrapper): 获取用于查询的 SearchSourceBuilder 对象。
search(SearchRequest request, RequestOptions options) throws IOException: 根据给定的 SearchRequest 和 RequestOptions 进行搜索。
scroll(SearchScrollRequest request, RequestOptions options) throws IOException: 根据给定的 SearchScrollRequest 和 RequestOptions 进行滚动查询。
getSource(Wrapper<T> wrapper): 获取查询条件对应的 JSON 字符串。
pageQuery(Wrapper<T> wrapper, Integer pageNum, Integer pageSize): 分页查询。
searchAfterPage(Wrapper<T> wrapper, List<Object> searchAfter, Integer pageSize): 使用 search_after 方式进行分页查询。
selectCount(Wrapper<T> wrapper): 统计符合条件的数据条数。
selectCount(Wrapper<T> wrapper, boolean useAggregation): 统计符合条件的数据条数,可指定是否使用聚合查询。
insert(T entity): 插入一条数据。
insert(T entity, String... indexNames): 在指定索引上插入一条数据。
insertBatch(Collection<T> entities): 批量插入数据。
insertBatch(Collection<T> entities, String... indexNames): 在指定索引上批量插入数据。
deleteById(Serializable id): 根据 ID 删除一条数据。
deleteById(Serializable id, String... indexNames): 在指定索引上根据 ID 删除一条数据。
deleteBatchIds(Collection<? extends Serializable> ids): 根据 ID 批量删除数据。
deleteBatchIds(Collection<? extends Serializable> ids, String... indexNames): 在指定索引上根据 ID 批量删除数据。
delete(Wrapper<T> wrapper): 根据条件删除数据。
updateById(T entity): 根据 ID 更新一条数据。
updateById(T entity, String... indexNames): 在指定索引上根据 ID 更新一条数据。
updateBatchByIds(Collection<T> entities): 根据 ID 批量更新数据。
updateBatchByIds(Collection<T> entities, String... indexNames): 在指定索引上根据 ID 批量更新数据。
update(T entity, Wrapper<T> wrapper): 根据条件更新数据。
selectById(Serializable id): 根据 ID 查询一条数据。
selectById(Serializable id, String... indexNames): 在指定索引上根据 ID 查询一条数据。
selectBatchIds(Collection<? extends Serializable> ids): 根据 ID 批量查询数据。
selectBatchIds(Collection<? extends Serializable> ids, String... indexNames): 在指定索引上根据 ID 批量查询数据。
selectOne(Wrapper<T> wrapper): 根据条件查询一条数据。
selectList(Wrapper<T> wrapper): 根据条件查询数据列表。
setCurrentActiveIndex(String indexName): 设置当前活跃的索引名称。

BaseEsMapper 还可以通过编写自定义接口继承它,实现更加灵活和具体的 Elasticsearch 操作。

通过使用 BaseEsMapper,你可以方便地进行 Elasticsearch 的增删改查操作,并且 Easy-ES 还提供了更多的功能和扩展点,帮助你更好地处理 Elasticsearch 相关的业务需求。

使用代码示例:

@Mapper
public interface UmsSmsClientEsMapper extends BaseEsMapper<UmsSmsEsClient> {
}

文章来源:https://blog.csdn.net/weixin_44060488/article/details/135407637
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。