【发布时间】:2017-07-03 14:45:36
【问题描述】:
您好,我正在尝试使用 spring RestTemplate 在弹性搜索中搜索数据。 ElasticSearch 有用户名和密码,我想通过 json 搜索。
我为此编写了代码,但没有得到任何结果或异常。这是我有生以来第一次这样做,如果其中有一些愚蠢的错误,我深表歉意。
@Override
protected List<JobPosts> doInBackground(Object[] objects) {
List list = null;
try {
SearchForm searchForms = (SearchForm) objects[0];
String plainCreds = "******:********";
final String url = "*******";
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
HttpEntity<String> request = new HttpEntity<>(searchJson, headers);
Log.d("location", "before exchange");
ResponseEntity<JobPosts[]> response = restTemplate.exchange(url, HttpMethod.GET, request, JobPosts[].class);
JobPosts[] jobPosts = response.getBody();
Log.d("location", "after exchange");
list = Arrays.asList(jobPosts);
} catch (Exception e) {
Log.d("location", e.getMessage());
}
【问题讨论】:
-
可能使用 cURL 或 REST 客户端插件(Postman、高级 REST 客户端...)在深入研究代码之前验证您是否可以访问 Elasticsearch。 localhost:9200 是您的基本 URL。但我建议使用评论中提到的 ES Java API。我也从 Spring 数据切换到原生 API 以获得更好的支持
标签: android elasticsearch spring-restdocs