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_"));
}
}
}