ES java API (6.8.0)

ES API

ver: 6.8.0

ES创建索引
CreateIndexRequest createIndexRequest = new CreateIndexRequest(EsConstant.ES_INDEX);
//建立创建es语句
ElasticSearchClient.getInstance().indices().create(createIndexRequest, RequestOptions.DEFAULT);
//创建索引
es创建索引的方式有很多种,并且为你的每个字段设置类型
es 中keyword类型对应得数据在存es不会被分词,但是text在存入es之前会被分词,此时分词模式可以进行设置
ES 更新
UpdateRequest updateRequest = new UpdateRequest(EsConstant.ES_INDEX, "doc", Id);
//参数:索引名、文档类型doc(es7.0以上,es官方已经设置好默认为doc了,id为更新得某条文档得id)
updateRequest.doc(s, XContentType.JSON);
//s:更新文档内容,设置更新内容格式,也可以忽略设置
ElasticSearchClient.getInstance().update(updateRequest, RequestOptions.DEFAULT);
//ElasticSearchClient 为公司封装得es得客户端,通过update方法进行更新,如果没有对客户端连接进行封装,可通过客户端连接语句建立连接后,通过建立连接后得实例进行调用update方法进行更新

类比:jdbc连接 ,思路是一样得
ES 插入
IndexRequest indexRequest = new IndexRequest(EsConstant.ES_INDEX, "doc");
//参数:索引名、文档类型
indexRequest.source(s, XContentType.JSON);
//建立数据builder  提供es插入   参数s为es要插入得内容,s得类型可以有很多,不一定非是str类型
ElasticSearchClient.getInstance().index(indexRequest, RequestOptions.DEFAULT);
//es插入, 通过index方法插入数据
es设置路由,es设置路由得好处就是可以将通过路由,将数据统一化管理,存放在固定的分片上, 存放规则是 hash(esID)/分片数 的余数就是存放在第几个分片上,
举例:分片数为3,表示当前有3个分片, hash(esID)=5     那么 5/3 余2  那么当前数据存放在第二个分片上 
indexRequest.routing(esID);
//设置es ID   esId可以是默认得ID 如果不去人为定义,es会自动生成id,根据自己得业务去选用,看是否需要人为定义id
indexRequest.id();
ES 查询
     //建立查询  参数为索引名    SearchRequest searchRequest = new SearchRequest(EsConstant.ES_INDEX);    //建立查询条件  查询条件和查询方式有很多,ES支持精确查找,模糊查询,范围查询等各种查询    SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();        //这是我需要建立得范围查询    RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(EsConstant.UPDATE_TIME).lt(DateUtil.getDate());            sourceBuilder.query(rangeQueryBuilder);            searchRequest.source(sourceBuilder);            SearchResponse res = ElasticSearchClient.getInstance().search(searchRequest, RequestOptions.DEFAULT);            long totalHits = res.getHits().getTotalHits();                        

备注:Es不同得版本,调用得API都是不一样得,建议选清楚自己得版本再去使用,

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值