搜索组件客户端
一、简介
1.1 概述
本客户端依赖于HSRH平台服务的索引功能
1.2 组件坐标
<dependency>
<groupId>org.hzero.boot</groupId>
<artifactId>hzero-boot-search</artifactId>
<version>${hzero.service.version}</version>
</dependency>
1.3 主要功能
- 通过查询编码查询相关索引数据
- 提供索引同步方法
- 内含elasticsearch java api
二、使用说明
- 客户端首先需要在
application.yaml
配置es地址
hzero:
hsrh:
elasticsearch:
clusterNodes: ${ELASTICSEARCH_DEFAULT_URL:127.0.0.1:9200}
username: es_user
password: password
max-connect-num: 50
max-connect-per-route: 10
- 客户端使用方法
在代码中自动注入搜索组件客户端:
org.hzero.boot.ElasticSearchService
/**
* 根据查询配置查询数据
*
* @param tenantId 租户号
* @param configCode 查询配置表Code
* @param queryMap 查询参数map
* @return EsPage
*/
public EsPage searchPage(final Long tenantId, final String configCode, final Map<String, Object> queryMap, int page, int pageSize)
/**
* 根据查询配置查询数据
*
* @param tenantId 租户号
* @param configCode 查询配置表Code
* @param queryMap 查询参数map
* @return SearchResponse
*/
public SearchResponse search(final Long tenantId, final String configCode, final Map<String, Object> queryMap, int page, int pageSize)
/**
* 根据查询配置查询数据
*
* @param tenantId 租户号
* @param configCode 查询配置表Code
* @param queryMap 查询参数map
* @param objects 上一页排序参数
* @return SearchResponse
*/
public SearchResponse searchAfter(final Long tenantId, final String configCode, final Map<String, Object> queryMap, final Object[] objects)
/**
* 获取ScrollId
*
* @param tenantId 租户号
* @param configCode 查询配置表Code
* @param queryMap 查询参数map
* @return String (ScrollId)
*/
public String findScrollId(final Long tenantId, final String configCode, final Map<String, Object> queryMap)
/**
* 获取ScrollId
*
* @param tenantId 租户号
* @param configCode 查询配置表Code
* @param queryMap 查询map
* @param scrollTime 超时时间
* @return String (ScrollId)
*/
public String findScrollId(final Long tenantId, final String configCode, final Map<String, Object> queryMap, final Long scrollTime)
/**
* 获取ScrollId
*
* @param tenantId 租户号
* @param configCode 查询配置表Code
* @param queryMap 查询map
* @param size 分页数量
* @param scrollTime 超时时间
* @return String (ScrollId)
*/
public String findScrollId(final Long tenantId, final String configCode, final Map<String, Object> queryMap, int size, Long scrollTime)
/**
* 获取分页数据(通过scroll方法,适合数据导出)
*
* @param scrollId scrollId
* @return SearchResponse
*/
public SearchResponse scroll(final String scrollId)
/**
* 获取分页数据(通过scroll方法,适合数据导出)
*
* @param scrollId scrollId
* @param scrollTime 超时时间
* @return SearchResponse
*/
public SearchResponse scroll(final String scrollId, final Long scrollTime)
/**
* 清除scrollId
*
* @param scrollId scrollId
* @return boolean
*/
public boolean clearScroll(final String scrollId)
/**
* 同步批量覆盖保存(不要多线程调用,校验当前索引是否有同步任务,且不记录同步数据)
*
* @param tenantId 租户号
* @param indexCode 索引code
* @param dataList 同步数据集合
* @return BulkResponse
*/
public BulkResponse syncSaveAll(final Long tenantId, final String indexCode, final List<Object> dataList)
/**
* 同步批量覆盖保存(不要多线程调用,校验当前索引是否有同步任务)
*
* @param tenantId 租户号
* @param indexCode 索引code
* @param dataList 同步数据集合
* @param isLog 是否同步日志
* @param syncConfCode 同步配置code
* @return BulkResponse 同步批量结果
*/
public BulkResponse syncSaveAll(final Long tenantId, final String indexCode, boolean isLog, final String syncConfCode, final List<Object> dataList)
/**
* 同步批量覆盖保存(多线程调用,不校验当前索引是否有同步任务,且不记录同步数据)
*
* @param tenantId 租户号
* @param indexCode 索引code
* @param dataList 同步数据集合
* @return BulkResponse
*/
public BulkResponse saveAll(final Long tenantId, final String indexCode, final List<Object> dataList)
/**
* 同步批量覆盖保存(多线程调用,不校验当前索引是否有同步任务)
*
* @param tenantId 租户号
* @param indexName 索引名
* @param isLog 同步数据是否记录
* @param syncConfCode 自定义同步配置编码(方便服务端查询)
* @param syncStartTime 同步时间
* @param dataList 同步数据集合
* @return BulkResponse 同步批量结果
*/
public BulkResponse saveAll(final Long tenantId, final String indexName, boolean isLog, final String syncConfCode, final Date syncStartTime, final List<Object> dataList)
/**
* 新增同步日志
*
* @param tenantId 租户号
* @param indexName 索引名
* @param isLog 是否记录文件
* @param syncConfCode 同步配置编码
* @param syncStartTime 同步开始时间
* @param dataList 同步数据
* @return EsIndexSyncLog 同步日志
*/
public EsIndexSyncLog addEsIndexSyncLog(final Long tenantId, final String indexName, boolean isLog, final String syncConfCode, final Date syncStartTime, final List<Object> dataList)