孤独海岸线 发表于 2017-12-18 18:33:54

solr 学习之solrJ

public static void queryDocument() throws Exception{//创建Solr的客户端链接对象  HttpSolrServer solrServer=new HttpSolrServer("http://192.168.6.179:8080/solr/collection1");
  //创建solr的查询对象
  SolrQuery sq=new SolrQuery();
  //设置查询条件
  sq.set("q","item_title:商品" );
  //设置过滤条件
  //    sq.set("fq", "item_price:");
  //设置排序
  sq.addSort("item_title", ORDER.desc);
  //设置分页
  sq.setStart(0);//开始位置
  sq.setRows(3);//每页3条
  //开启高亮
  sq.setHighlight(true);
  sq.addHighlightField("item_title");//设置高亮域
  sq.setHighlightSimplePre("<b>");//设置高亮样式
  sq.setHighlightSimplePost("</b>");
  //查询
  QueryResponse qr=solrServer.query(sq);
  //获取查询结果
  SolrDocumentList sds=qr.getResults();
  //获取查询的记录数
  long total=sds.getNumFound();
  System.out.println("数量:"+total);
  for(SolrDocument sd:sds){//默认取出10条记录

  String>  String item_title=(String) sd.getFieldValue("item_title");
  String item_sell_point=(String) sd.getFieldValue("item_sell_point");
  long item_price=(Long) sd.getFieldValue("item_price");
  String item_desc=(String) sd.getFieldValue("item_desc");
  String item_image=(String) sd.getFieldValue("item_image");
  String item_category_name=(String) sd.getFieldValue("item_category_name");
  System.out.println("========================================");
  System.out.println("id:"+id);
  System.out.println("item_title:"+item_title);
  System.out.println("item_sell_point:"+item_sell_point);
  System.out.println("item_price:"+item_price);
  System.out.println("item_desc:"+item_desc);
  System.out.println("item_image:"+item_image);
  System.out.println("item_category_name:"+item_category_name);
  //获取高亮显示的结构
  Map<String, Map<String, List<String>>> highlighting=qr.getHighlighting();
  if(highlighting!=null){
  //根据Id获得每个域的高亮内容
  Map<String, List<String>> map=highlighting.get(id);
  //根据具体的域获取高亮内容
  List<String> list=map.get("item_title");
  if(list!=null && !list.isEmpty()){
  for(String str:list){
  System.out.println("str:"+str);
  }
  }
  }
  }
  }
页: [1]
查看完整版本: solr 学习之solrJ