Solr5之後內置了jetty作爲服務器,可以自行啓動。默認端口是8983
這裏參考網上的Java連接solr代碼(做了一些小改動)
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
import org.junit.Test;
public class SolrTest {
//增加索引庫
@Test
public void addDocument() throws Exception{
//創建連接
HttpSolrServer solrServer = new HttpSolrServer("http://192.168.230.139:8983/solr/gettingstarted_shard1_replica2");//這裏在solr與gettingstarted_shard1_replica2之間不要加“#”
//創建文檔對象
SolrInputDocument doucument= new SolrInputDocument();
doucument.addField("id", "67874893");
doucument.addField("item_title", "First solr Example");
doucument.addField("item_price", 678934);
//把文檔對象寫入文檔裏
solrServer.add(doucument);
//提交
solrServer.commit();
}
//刪除索引庫
@Test
public void delDocument() throws Exception{
//創建連接
HttpSolrServer solrServer = new HttpSolrServer("http://192.168.230.139:8983/solr/gettingstarted_shard1_replica2");
// solrServer.deleteById("");
solrServer.deleteByQuery("*:*");
solrServer.commit();
}
//查詢
@Test
public void queryDocument() throws Exception{
//創建連接
HttpSolrServer solrServer = new HttpSolrServer("http://192.168.230.139:8983/solr/gettingstarted_shard1_replica2");
//創建一個查詢對象
SolrQuery query= new SolrQuery();
query.setQuery("*:*");
query.setStart(1); //起始查詢
query.setRows(3987); //查詢行數
//執行查詢
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"));
//System.out.println(solrDocument.get("_version_"));
}
}
}