match 单字段查询【ElasticSearch】

复制代码
  /**
     * match 分词再查询
     */
    @Test
    public void test01() throws IOException {
        //todo 2.搜索条件封装
        SearchRequest searchRequest = new SearchRequest("hotel");

        //todo 4.所有搜索条件封装到 searchSourceBuilder对象
        SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();

        //todo 5.添加对象
        searchSourceBuilder.query(QueryBuilders.matchQuery("name","如家全季"));

        //todo 3.添加搜索条件对象
        searchRequest.source(searchSourceBuilder);

        //todo 1.找到搜索的API
        SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);

        //todo 6.解析 searchResponse 返回结果
        SearchHits hits = searchResponse.getHits();

        System.out.println("查询到的总条数为:" + hits.getTotalHits().value);

        SearchHit[] searchHits = hits.getHits();
        for (SearchHit hit : searchHits) {
            String sourceAsString = hit.getSourceAsString();
            HotelDoc hotelDoc = JSON.parseObject(sourceAsString, HotelDoc.class);
            System.out.println("查询到的数据:" + hotelDoc);
        }
    }
复制代码

 

posted @   青核桃啊  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示