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