• 搜索组件客户端

    一、简介

    1.1 概述

    本客户端依赖于HSRH平台服务的索引功能

    1.2 组件坐标

    <dependency>
        <groupId>org.hzero.boot</groupId>
        <artifactId>hzero-boot-search</artifactId>
        <version>${hzero.service.version}</version>
    </dependency>
    

    1.3 主要功能

    二、使用说明

    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)