我使用以下查询查询elasticsearch
SearchResponse searchResponse = getElasticSearchClient()
.prepareSearch(indexNameStr).setTypes(typeNameStr)
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
.setQuery(queryStrr).setSize(size)
.setFrom(start).addSort(fieldSortBuilder)
.execute().actionGet();
我想检查搜索是成功还是失败。捕获异常如果在搜索期间有任何异常。
由于
答案 0 :(得分:1)
好吧,即使某个特定搜索的分片失败,搜索请求仍然会通过。检查所有分片是否成功的唯一方法是检查响应并查看是否标记了任何分片故障。
if(searchResponse.getShardFailures().length > 0){
System.out.println("Failed");
}
答案 1 :(得分:0)
查看您正在使用的客户端的文档。在C#客户端中,返回的IResponse对象具有" IsValid"告诉您响应是否成功的属性。