A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 我是楠楠 黑马粉丝团   /  2019-4-25 15:04  /  1268 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

【郑州校区】复杂查询

[mw_shl_code=applescript,true]public void testSearchFuzaIndex() throws Exception {
                SolrServer solrServer = new HttpSolrServer("http://localhost:8080/solr/");
                SolrQuery query = new SolrQuery();
                // q : 设置筛选条件
                query.setQuery("台灯");
                // fq : 设置过滤条件,可以有多个
                query.addFilterQuery("user_age:[20 TO 50]", "user_name:豆豆");
                // sort : 设置排序 desc asc
                query.setSort("user_age", ORDER.desc);
                // start, rows : 分页条件
                query.setStart(0);
                query.setRows(5);
                // fl : 设置查询显示的列表
                query.setFields("id", "user_name", "user_age");
       
                // df :设置默认搜索域
                query.set("df", "user_keywords");
                // hl : 设置开启高亮
                query.setHighlight(true);
                // hl.fl : 设置高亮显示的域
                query.addHighlightField("user_name");
                // hl.simple.pre : 设置高亮显示前缀
                query.setHighlightSimplePre("<em>");
                // hl.simple.post : 设置高亮显示的后缀
                query.setHighlightSimplePost("</em>");
                // 取结果
                QueryResponse response = solrServer.query(query);
                SolrDocumentList list = response.getResults();
                System.out.println("总记录: " + list.getNumFound());
                for (SolrDocument solrDocument : list) {
                        System.out.println(solrDocument.get("id"));
                        // 取高亮结果集
                        Map<String, Map<String, List<String>>> highlighting = response.getHighlighting();
                        List<String> hlist = highlighting.get(solrDocument.get("id")).get("user_name");
                        String productName = "";
                        if (hlist != null && hlist.size() > 0) {
                                productName = hlist.get(0);
                        } else {
                                productName = (String) solrDocument.get("user_name");
                        }
                        System.out.println(productName);
                        System.out.println(solrDocument.get("user_age"));
                }
        }[/mw_shl_code]
传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线  地铁一号线梧桐街站A口出

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马