我使用logstash将mysql表数据保存到elasticsearch中。现在我想使用特定字段从elasticsearch获取数据。我可以使用id获取数据,但无法使用其他字段检索数据。
我使用的是elasticsearch 5.6.12和spring boot 2.0
搜索控制器.java
@GetMapping("/view/{id}")
public SearchResponse view(@PathVariable final String id) {
SearchResponse response = client.prepareSearch("user_detail").setTypes("user")
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
.setQuery(QueryBuilders.termQuery("first_name", id)).setFrom(1).setSize(4)
.setExplain(true).execute().actionGet() ;
SearchHit[] results = response.getHits().getHits();
System.out.println("Current results: " + results.length);
for (SearchHit hit : results) {
System.out.println("------------------------------");
Map<String, Object> result = hit.getSource();
System.out.println(result);
}
return response;
}
我想用名字搜索,但没有显示任何内容。我做错什么了?
1条答案
按热度按时间4xrmg8kj1#
我的问题解决了