在solrj中创建索引的一般步骤:
1)创建一个SolrServer对象,SolrServer用于管理索引
2)创建SolrInputDocument对象,即文档对象,并且向文档对象添加字段
3)利用SolrServer对象的add方法添加SolrInputDocument对象,创建索引
4)调用SolrServer对象的commit()方法提交索引。
例如:
HttpSolrServer hss=new HttpSolrServer("http://localhost:8080/solr");
SolrInputDocument solrInputDocument=new SolrInputDocument();
solrInputDocument.addField("id", 1);
solrInputDocument.addField("uname", "zhangsan");
solrInputDocument.addField("sex", sex.male.toString());
solrInputDocument.addField("age", 1);
solrInputDocument.addField("hobby", "basketball");
hss.add(solrInputDocument);
hss.commit();
搜索的一般步骤:
1)创建一个SolrServer对象
2)创建查询语句SolrQuery对象
3)创建SolrRequest对象
4)通过SolrRequest的process(SolrServer)方法生成一个SolrResponse对象
5)调用SolrResponse对象的getResults()方法得到结果集
在这里我们还可以通过SolrServer的query(SolrQuery)直接创建一个SolrResponse对象。
例如: 1. HttpSolrServer hss=new HttpSolrServer("http://localhost:8080/solr");
SolrQuery sq=new SolrQuery("id:1");
QueryRequest qr=new QueryRequest(sq);
QueryResponse q=qr.process(hss);
SolrDocumentList list=q.getResults();
SolrDocument sd=list.get(0);
System.out.println(sd.get("uname"));
2. HttpSolrServer hss=new HttpSolrServer("http://localhost:8080/solr");
SolrQuery sq=new SolrQuery("*:*");
QueryResponse qr=hss.query(sq);
SolrDocumentList list=qr.getResults();
for(SolrDocument sd:list)
{
Iterator iter=sd.keySet().iterator();
for(;iter.hasNext();)
{
String key=(String) iter.next();
Object value= sd.get(key);
System.out.println(key+"---->"+value);
}
System.out.println("----------------------------");
}