如何使用elasticsearch获得搜索结果?

时间:2018-12-06 13:15:50

标签: java spring-boot elasticsearch

我使用logstash将mysql表数据保存到elasticsearch。现在我想使用特定字段从elasticsearch获取数据。我可以使用id获取数据,但是无法使用其他字段检索数据。

我正在使用Elasticsearch 5.6.12和Spring Boot 2.0

searchcontroller.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;
    }

我想使用first_name进行搜索,但是什么也没有显示。我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

我的问题解决了

demouser