2021-02-04

es~seq_no_primary_term问题的解决

seq_no_primary_term这个错误在聚合操作时出现的问题,这个问题是由于es客户端的版本与服务端版本不兼容的问题,例如:你的客户端是6.8.7,而es服务器版本是6.5.4,这时再进行topHits聚合操作时,就会出现这个错误。

es服务器版本
1
es客户端版本

   <dependency>   <groupId>org.elasticsearch</groupId>   <artifactId>elasticsearch</artifactId>   <version>6.8.7</version>   </dependency>

上面的代码可以看到,客户端与服务端的版本出现了不兼容的情况,这时客户端在进行topHits分组时,就会传seq_no_primary_term参数 ,这时服务端不认这个参数 ,就出现了问题,解决方法很简单,就是降低客户端驱动版本即可。

   <dependency>   <groupId>org.elasticsearch</groupId>   <artifactId>elasticsearch</artifactId>   <version>6.5.4</version>   </dependency>

es聚合代码

BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();// 拼接查询条件queryBuilder.should(QueryBuilders.termQuery("createUser", "1"));// 创建聚合查询条件TermsAggregationBuilder operateTypeAggBuilder = AggregationBuilders.terms("commentId")  .field("commentId").size(10000);operateTypeAggBuilder.subAggregation(AggregationBuilders.topHits("top").size(2)  .fetchSource("content", "delFlag"));// 创建查询对象SearchQuery build = new NativeSearchQueryBuilder()  .withQuery(queryBuilder) //添加查询条件  .addAggregation(operateTypeAggBuilder) // 添加聚合条件  .withPageable(PageRequest.of(0, 1)) //符合查询条件的文档分页,如果文档比较大,可以把这个分页改小(不是聚合的分页)  .build();








原文转载:http://www.shaoqun.com/a/527572.html

跨境电商:https://www.ikjzd.com/

环球华网:https://www.ikjzd.com/w/1063

feedback:https://www.ikjzd.com/w/159


seq_no_primary_term这个错误在聚合操作时出现的问题,这个问题是由于es客户端的版本与服务端版本不兼容的问题,例如:你的客户端是6.8.7,而es服务器版本是6.5.4,这时再进行topHits聚合操作时,就会出现这个错误。es服务器版本es客户端版本<dependency><groupId>org.elasticsearch</groupId>
邮乐:邮乐
kkr:kkr
深度干货| 新政策下的跨境电商卖家风险分析与选品思维:深度干货| 新政策下的跨境电商卖家风险分析与选品思维
亚马逊CPC:站外测评难?其实做好CPC就成功了一大半:亚马逊CPC:站外测评难?其实做好CPC就成功了一大半
用对了促销方法,我的销量和排名蹭蹭蹭的涨!:用对了促销方法,我的销量和排名蹭蹭蹭的涨!

No comments:

Post a Comment