我正在尝试连接到 elasticsearch 并在 6.3.2 版本中进行一些基本查询。我正在尝试的代码是这样的:RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost("localhost", 30100, "http")));SearchRequest sr = new SearchRequest(INDEX);sr.indicesOptions(IndicesOptions.lenientExpandOpen());SearchSourceBuilder ssb = new SearchSourceBuilder();sr.source(ssb);MatchQueryBuilder builder = QueryBuilders.matchQuery("logLevel.keyword", "ERROR"); QueryBuilder qb = QueryBuilders.boolQuery().must(builder); ssb.query(qb);SearchResponse response = null;try { response = client.search(sr); System.out.println("total hits ::: " + response.getHits().getTotalHits());} catch (IOException e) { e.printStackTrace();} finally { try { client.close(); } catch (IOException e) { e.printStackTrace(); }}System.out.println(response);更新 正如建议的那样,我现在才使用查询。我尝试了来自 API 的构建查询,我看到了结果,但由于某种原因response.getHits().getTotalHits()返回零。生成的查询如下所示,并在 kibana 中给了我预期的结果,即总数为 1 :GET /_search{ "from": 0, "query": { "bool": { "must": [ { "match": { "logLevel.keyword": { "query": "ERROR", "operator": "OR", "prefix_length": 0, "max_expansions": 50, "fuzzy_transpositions": true, "lenient": false, "zero_terms_query": "NONE", "auto_generate_synonyms_phrase_query": true, "boost": 1 } } } ], "adjust_pure_negative": true, "boost": 1 } }}是否缺少 restclient 的一些配置?
添加回答
举报
0/150
提交
取消