这里是需要的jar包,都是solr中带的有的在dist中或者lib中,还有的是其他的地方的,由于版本不一样,可能名字不太一样
package solr_project;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
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.SolrInputDocument;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.http.HttpResponse;
public class SolrTest {
public static void main(String [] args) throws IOException,SolrServerException{
String url="http://localhost:8080/solr/";
@SuppressWarnings("deprecation")
HttpSolrServer server=new HttpSolrServer(url);
//添加Document:------------------ 开始
String [] id={"1","2"};
String [] name={"Jack","Sherlock holmes"};
Collection<SolrInputDocument>docCollection=new ArrayList<SolrInputDocument>();
for (int i = 0; i < name.length; i++) {
SolrInputDocument document=new SolrInputDocument();
//这里的id 和name是文档中的,其中id是主键
document.addField("id",id[i]);
document.addField("name",name[i]);
server.add(document);
}
server.commit();
//添加Document:------------------ 结束
//solr查询:-------------------------开始,这里的查询方式只是一种很基础的查询方式,还有其他更好的查询方式,会后续更新
ModifiableSolrParams params=new ModifiableSolrParams();
//设置查询参数,name字段包括Sherlock的记录
params.set("q", "name:Sherlock");
//设置要返回的
params.set("f1","id,name,update_time");
QueryResponse response=server.query(params);
for(SolrDocument doc:response.getResults()){
System.out.println("id :"+doc.getFieldValue("id").toString());
System.out.println("name :"+doc.getFieldValue("name").toString());
// System.out.println("update_time :"+doc.getFieldValue("updata_time").toString());
System.out.println("------------------------------------------------------------");
}
//solr查询:-------------------------开始
System.out.println(response.getResults().size()+"end of the story");
}
}