Jest客户端索引添加、数据查询、分页实例

参考:
https://github.com/searchbox-io/Jest/tree/master/jest/src/test
https://www.elastic.co/guide/en/elasticsearch/reference/5.5/search-request-scroll.html


/**
 * 〈一句话功能简述〉操作ES的Jest客户端<br>
 * 〈功能详细描述〉
 *
 * @author wangzha
 * @see [相关类/方法](可选)
 * @since [产品/模块版本] (可选)
 */
@Service
public class JestService<T> implements InitializingBean {
   

    public static Logger logger = LoggerFactory.getLogger(JestService.class);

    /**
     * jest客户端,单例
     */
    private static JestClient client = null;

    @Value("${es.cluster}")
    private String cluster;

    /**
     * es 读取超时时间
     */
    private static final String ES_READ_TIMEOUT = "es.read.timeout";

    /**
     * es 连接超时时间
     */
    private static final String ES_CONNECT_TIMEOUT = "es.connect.timeout";

    /**
     * 滚动ID key
     */
    private static final String SCORLL_ID_KEY = "_scroll_id";

    /**
     * 命中集 key
     */
    private static final String QUERY_HITS_KEY = "hits";

    /**
     * 数据源 key
     */
    private static final String SOURCE_KEY = "_source";

    /**
     * 搜索上下文的时间,用来支持该批次
     */
    private static final String SCROLL_ALIVE_TIME = "5m";

    @Override
    public void afterPropertiesSet() throws Exception {
        init();
    }

    /**
     * 客户端初始化
     */
    public void init() {
        logger.info("ESJestClient Init Start...");
        synchronized (JestService.class) {
            if (client != null)
                return;
//            String[] uriArr = cluster.split(Symbols.COMMA);
            String[] uriArr = new String[]{
  "http://10.37.2.142:9900",
                    "http://10.37.2.143:9900", "http://10.37.2.144:9900"};
            if (uriArr.length > 0) {
                Set<String> serverUris = new LinkedHashSet<String>();
                for (int i = 0; i < uriArr.length; i++) {
                    if (StringUtils.isNotEmpty(uriArr[i]))
                        serverUris.add(uriArr[i]);
                }
                JestClientFactory factory = new JestClientFactory();
                factory.setHttpClientConfig(new HttpClientConfig.Builder(serverUris)
//                        .connTimeout(S
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值