下面是一个示例的 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> {
}