es查询多个index时,如果一个index不存在,或者无数据怎么办?
匿名 | 发布于2016年01月11日 | 阅读数:8093
es查询多个index时,如果一个index不存在,或者无数据怎么办?
想要查询出结果,也就是存在的index里面有数据 ,另一个无数据。 结果返回 没有数据。
这是什么原因呢?
SearchRequestBuilder srb = null;
System.out.println(indexNameDates);
srb = client.prepareSearch(indexNameDates.toArray(new String[] {}));
srb.setTypes(type);
srb.setSearchType(SearchType.DFS_QUERY_THEN_FETCH);
TermsBuilder collecttimeTermsBuilder = AggregationBuilders.terms("collecttime").field("collecttime")
.subAggregation(AggregationBuilders.sum("failnum").field("failnum"))
.subAggregation(AggregationBuilders.sum("total").field("total"));
srb.addAggregation(collecttimeTermsBuilder);
collecttimeTermsBuilder.size(Integer.MAX_VALUE);
想要查询出结果,也就是存在的index里面有数据 ,另一个无数据。 结果返回 没有数据。
这是什么原因呢?
SearchRequestBuilder srb = null;
System.out.println(indexNameDates);
srb = client.prepareSearch(indexNameDates.toArray(new String[] {}));
srb.setTypes(type);
srb.setSearchType(SearchType.DFS_QUERY_THEN_FETCH);
TermsBuilder collecttimeTermsBuilder = AggregationBuilders.terms("collecttime").field("collecttime")
.subAggregation(AggregationBuilders.sum("failnum").field("failnum"))
.subAggregation(AggregationBuilders.sum("total").field("total"));
srb.addAggregation(collecttimeTermsBuilder);
collecttimeTermsBuilder.size(Integer.MAX_VALUE);
3 个回复
esuser20000
赞同来自:
zttech
赞同来自:
IndicesExistsResponse indicesExistsResponse = client.admin().indices().prepareExists("cars").execute().actionGet();
if(indicesExistsResponse.isExists()) {
IndicesStatsResponse response = client.admin().indices().prepareStats("cars").execute().actionGet();
long count = response.getIndex("cars").getTotal().docs.getCount();
System.out.println(count);
}
lsh
赞同来自: