您的位置:首页 > 编程语言 > Java开发

Solr 读写(Java SolrJ)

2016-05-18 22:51 295 查看
这里是需要的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");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: