Java 获取所有记录,包括特定字段
我正在使用ElasticSearch 7.3。我只想使用JavaAPI从索引中获取所有文档的两条记录。我正在使用以下代码,但它返回空对象Java 获取所有记录,包括特定字段,java,
elasticsearch,elasticsearch-7,Java,
elasticsearch,Elasticsearch 7,我正在使用ElasticSearch 7.3。我只想使用JavaAPI从索引中获取所有文档的两条记录。我正在使用以下代码,但它返回空对象 RestHighLevelClient client; SearchSourceBuilder sourceBuilder = new SearchSourceBuilder(); sourceBuilder.fetchSource("recipe_ID,recipe_url", null);
RestHighLevelClient client;
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.fetchSource("recipe_ID,recipe_url", null);
sourceBuilder.from(0);
SearchRequest searchRequest = new SearchRequest("recipes");
searchRequest.source(sourceBuilder);
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
SearchHit searchHit = searchResponse.getHits().getAt(0);
String resultString = searchHit.getSourceAsString();
return resultString;
我只需要在结果中包含两个字段recipe\u ID和recipe\u url。您的路径正确,但需要在如下数组中指定字段:
String[] includeFields = new String[] {"recipe_ID", "recipe_url"};
sourceBuilder.fetchSource(includeFields, null);
我希望它只返回所有文档中这些字段的值。我怎么能这样做呢?上面的代码就是这么做的。你试过了吗?它给我0次点击。你确定你的索引中有什么东西吗?