SolrJ查询索引库

查询索引库

查询步骤

第一步:创建一个SolrServer对象
第二步:创建一个SolrQuery对象
第三步:向SolrQuery中添加查询条件、过滤条件
第四步:执行查询,得到一个Response对象
第五步:取查询结果
第六步:遍历结果并打印

查询

@Test
public void queryDocument() throws Exception {
    // 第一步:创建一个SolrServer对象
    SolrServer solrServer = new HttpSolrServer("http://192.168.25.154:8080/solr");
    // 第二步:创建一个SolrQuery对象。
    SolrQuery query = new SolrQuery();
    // 第三步:向SolrQuery中添加查询条件、过滤条件。。。
    query.setQuery("*:*");
    // 第四步:执行查询。得到一个Response对象。
    QueryResponse response = solrServer.query(query);
    // 第五步:取查询结果。
    SolrDocumentList solrDocumentList = response.getResults();
    System.out.println("查询结果的总记录数:" + solrDocumentList.getNumFound());
    // 第六步:遍历结果并打印。
    for (SolrDocument solrDocument : solrDocumentList) {
        System.out.println(solrDocument.get("id"));
        System.out.println(solrDocument.get("item_title"));
        System.out.println(solrDocument.get("item_price"));
    }
}

查询高亮显示

@Test
public void searchDocumet() throws Exception {
    //创建一个SolrServer对象
    SolrServer solrServer = new HttpSolrServer("http://192.168.25.154:8080/solr/collection1");
    //创建一个SolrQuery对象
    SolrQuery query = new SolrQuery();
    //设置查询条件、过滤条件、分页条件、排序条件、高亮
    //query.set("q", "*:*");
    query.setQuery("手机");
    //分页条件
    query.setStart(0);
    query.setRows(10);
    //设置默认搜索域
    query.set("df", "item_keywords");
    //设置高亮
    query.setHighlight(true);
    //高亮显示的域
    query.addHighlightField("item_title");
    query.setHighlightSimplePre("<div>");
    query.setHighlightSimplePost("</div>");
    //执行查询,得到一个Response对象
    QueryResponse response = solrServer.query(query);
    //取查询结果
    SolrDocumentList solrDocumentList = response.getResults();
    //取查询结果总记录数
    System.out.println("查询结果总记录数:" + solrDocumentList.getNumFound());
    for (SolrDocument solrDocument : solrDocumentList) {
        System.out.println(solrDocument.get("id"));
        //取高亮显示
        Map<String, Map<String, List<String>>> highlighting = response.getHighlighting();
        List<String> list = highlighting.get(solrDocument.get("id")).get("item_title");
        String itemTitle = "";
        if (list != null && list.size() >0) {
            itemTitle = list.get(0);
        } else {
            itemTitle = (String) solrDocument.get("item_title");
        }
        System.out.println(itemTitle);
        System.out.println(solrDocument.get("item_sell_point"));
        System.out.println(solrDocument.get("item_price"));
        System.out.println(solrDocument.get("item_image"));
        System.out.println(solrDocument.get("item_category_name"));
        System.out.println("=============================================");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值