收入啤酒88 发表于 2017-12-18 16:45:44

solr的增删改查

/**  * @Description:查询
  *
@param  *
@return void 返回类型*/  public static void query()
  {
  HttpSolrClient client = new HttpSolrClient(SOLR_URL);
  client.setMaxRetries(1);
  client.setConnectionTimeout(60*1000);
  client.setSoTimeout(60*1000);
  client.setDefaultMaxConnectionsPerHost(100);
  client.setMaxTotalConnections(1000);
  client.setFollowRedirects(false);
  client.setAllowCompression(true);
  client.setRequestWriter(new BinaryRequestWriter());
  SolrQuery query = new SolrQuery();
  query.setQuery("id:id*");
  query.setFields("name","id","price");
  query.setSort("price", ORDER.asc);
  query.setStart(0);
  query.setRows(20);
  try
  {
  QueryResponse res = client.query(query);
  SolrDocumentList DocumentList = res.getResults();
  for (SolrDocument document:DocumentList)
  {
  String value = document.getFieldValue("id").toString();
  String price = document.getFieldValue("price").toString();
  System.out.println(value + "====" +price);
  }
  }
  catch (SolrServerException e)
  {
  e.printStackTrace();
  }
  catch (IOException e)
  {
  e.printStackTrace();
  }
  }
  /**
  * @Description:集合插入对象
  * @param   
  * @return void 返回类型
  */
  public static void pojoDocAll()
  {
  Goods good1 = new Goods("pojo_commit1", "苹果", 12.0);
  Goods good2 = new Goods("pojo_commit2", "橘子", 12.0);
  Goods good3 = new Goods("pojo_commit3", "香蕉", 12.0);
  ArrayList<Goods> list = new ArrayList<Goods>();
  list.add(good1);
  list.add(good2);
  list.add(good3);
  HttpSolrClient client = new HttpSolrClient(SOLR_URL);
  try
  {
  client.addBeans(list);
  client.commit();
  }
  catch (SolrServerException e)
  {
  e.printStackTrace();
  }
  catch (IOException e)
  {
  e.printStackTrace();
  }
  }
  /**
  * @Description:插入对象
  * @param   
  * @return void 返回类型
  */
  public static void pojoDoc()
  {
  Goods good = new Goods("pojo_commit", "苹果", 12.0);
  HttpSolrClient Client = new HttpSolrClient(SOLR_URL);
  Client.setRequestWriter(new RequestWriter());
  try
  {
  Client.addBean(good);
  //Client.optimize();
  
            Client.commit();
  }
  catch (IOException e)
  {
  e.printStackTrace();
  }
  catch (SolrServerException e)
  {
  e.printStackTrace();
  }
  }
  /**
  * @Description:删除文档
  * @param   
  * @return void 返回类型
  */
  public static void delDoc()
  {
  HttpSolrClient client = new HttpSolrClient(SOLR_URL);
  try
  {
  client.deleteById("id_update");
  client.commit();
  }
  catch (SolrServerException e)
  {
  e.printStackTrace();
  }
  catch (IOException e)
  {
  e.printStackTrace();
  }
  }
  /**
  * @Description:添加的第一种方式
  * @param   
  * @return void 返回类型
  */
  public static void addone()
  {
  SolrInputDocument doc = new SolrInputDocument();
  doc.addField("id", "id_double");
  doc.addField("name", "呵呵呵呵");
  doc.addField("price", 100.0);
  HttpSolrClient client = new HttpSolrClient(SOLR_URL);
  try
  {
  client.add(doc);
  client.commit();
  }
  catch (SolrServerException e)
  {
  e.printStackTrace();
  }
  catch (IOException e)
  {
  e.printStackTrace();
  }
  }
  /**
  * @Description:添加第二种方式
  * @param   
  * @return void 返回类型
  */
  public static void addoneOther()
  {
  SolrInputDocument doc = new SolrInputDocument();
  doc.addField("id", "id_update");
  doc.addField("name", "来个测试");
  doc.addField("price", 100.0);
  UpdateRequest request = new UpdateRequest();
  request.setAction(ACTION.COMMIT,false, false);
  request.add(doc);
  HttpSolrClient client = new HttpSolrClient(SOLR_URL);
  try
  {
  UpdateResponse resp = request.process(client);
  System.out.println(resp);
  }
  catch (SolrServerException e)
  {
  e.printStackTrace();
  }
  catch (IOException e)
  {
  e.printStackTrace();
  }
  }
页: [1]
查看完整版本: solr的增删改查