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

vidy:

我使用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进行搜索,但是什么也没有显示。我在这里做错了什么?

vidy:

我的问题解决了

    @GetMapping("/view/{id}")
    public Map<String, Object> view(@PathVariable final String id) {
    System.out.println("id="+id);
    SearchResponse response = client
    .prepareSearch("user_detail").setTypes("user").setQuery(QueryBuilders.matchQuery("first_name", id))
    .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="+ result);
        return result;
    }
    return null;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 nest elasticsearch 获得太多搜索结果

在从elasticsearch获得的结果中搜索

如何获得谷歌搜索结果

如何快速获得搜索结果?

如何在Linux上使用grep获得预期的搜索结果

如何使用elasticsearch获得最重要的复合搜索词?

如何获得阿尔及利亚搜索结果的类型?

如何从搜索中获得结果URL?

如何获得精巧的搜索结果作为列表?

如何获得基于DuckDuckGo API的搜索结果?

如何从弹性搜索查询中获得准确的搜索结果

如何获得不是使用python的广告的Google搜索的第一个结果?

如何通过使用MarkLogic指定特定节点进行搜索并获得摘要的结果?

搜索结果的ElasticSearch阈值

如何获得搜索结果以显示比行更多的多个回报?

MySQL-如何获得准确相关的搜索结果

如何从Yahoo Finance API获得10多个搜索结果?

Azure搜索。分页时如何获得结果计数

如何获得搜索结果以滚动表视图的顶部?

如何获得深色主题的地址栏搜索结果

如何在搜索列表中首先获得同名结果 iOS

如何查询 NPM REST API 搜索以获得相关结果?

如何获得Elasticsearch中搜索量最高的20个查询?

使用Rails 3无法获得正确的搜索结果

如何在elasticsearch中删除重复的搜索结果?

如何使用Elasticsearch使用or子句创建搜索

如何使用带有最大命中文档的其余查询从 Elastic 搜索中获得前 10 个结果?

访问网站并获得搜索结果

使用Vue.js突出显示Elasticsearch的搜索结果