1. 程式人生 > >java中solr的使用

java中solr的使用

solr在java程式中的應用

  1.匯入jar包

<!-- solr客戶端 -->
	<dependency>
	<groupId>org.apache.solr</groupId>
	<artifactId>solr-solrj</artifactId>
	</dependency>
 程式程式碼
//增加索引庫
	@Test
  public void addDocument() throws Exception{
	  //建立連線
	  SolrServer solrServer = new HttpSolrServer("http://192.168.21.198:8080/solr/");
	  //建立文件物件
	  SolrInputDocument doucument= new SolrInputDocument();
	  doucument.addField("id", "917770");
	  doucument.addField("item_title", "華為 P6-C00 電信3G手機(粉色) CDMA2000/GSM 雙模雙待雙通");
	  doucument.addField("item_price", 134900);
	  //把文件物件寫入文件裡
	  solrServer.add(doucument);
	  //提交
	  solrServer.commit();
  }
	//刪除索引庫
	@Test
	public void delDocument() throws Exception{
		//建立連線
		  SolrServer solrServer = new HttpSolrServer("http://192.168.21.198:8080/solr/");
		 // solrServer.deleteById("");
		  solrServer.deleteByQuery("*:*");
		  solrServer.commit();
	}
	//查詢
	@Test
	public void queryDocument() throws Exception{
		//建立連線
		  SolrServer solrServer = new HttpSolrServer("http://192.168.21.198:8080/solr/");
		  //建立一個查詢物件
		  SolrQuery query= new SolrQuery();
		  query.setQuery("*:*");
		  query.setStart(20);
		  query.setRows(50);
		  //執行查詢
		  QueryResponse response = solrServer.query(query);
		  
		  //取查詢結果
		  SolrDocumentList documentList = response.getResults();
		  System.out.println("查詢的條數為:"+documentList.getNumFound());
		  for(SolrDocument solrDocument: documentList){
			  System.out.println(solrDocument.get("id"));
			  System.out.println(solrDocument.get("item_title"));
			  System.out.println(solrDocument.get("item_price"));
			  System.out.println(solrDocument.get("item_image"));
			
			  
		  }
	}