用solrj操作solr之HttpSolrServer

一、用 HttpSolrServer 操作solr 之环境搭建

下载好了 solr-XXX.zip 包之后,解压就会看到 dist 目录,该目录就是开发环境 jar包所在地方。
现在需要使用 solrj 操作 solr,所以需要把solr-solrj-4.4.0.jar已经solrj-lib目录下的所有jar 包都要构建到开发路径中去。

二、下面开始操作 solr
第一步:肯定是用 solr 帮我们建立索引。
在操作之前明白几个概念(可能有误):
1、SolrServer solr 服务者 是指 你目前可用的 solr 服务
2、SolrServer 有很多实现子类,本文讲的 HttpSolrServer 就是其中之一,它可以根据 url地址,创建一个可用的示例:SolrServer server = newHttpSolrServer("特定url服务器地址");
3、然后 server 怎么创建索引呢? 就是把SolrInputDocument 集合加进去,然后commit,他就会自动帮你建立索引了!

上示例代码:

public static void addIndexTest() throws SolrServerException,IOException {
String url ="http://127.0.0.1:8983/solr/"; 
SolrServer server = newHttpSolrServer(url); 
SolrInputDocument doc1 = newSolrInputDocument(); 
doc1.addField("id", "1"); 
doc1.addField("title", "云南xxx科技");
doc1.addField("cat","企业信息门户,元数据,数字沙盘,知识管理"); 
SolrInputDocument doc2 = newSolrInputDocument(); 
doc2.addField("id", "2"); 
doc2.addField("title", "胡启稳"); 
doc2.addField("cat","知识管理,企业信息门户,云南,昆明"); 
SolrInputDocument doc3 = newSolrInputDocument(); 
doc3.addField("id", "3"); 
doc3.addField("title", "liferay");
doc3.addField("test_s","这个内容能添加进去么?这是动态字段呀"); 
List docs =newArrayList(); 
docs.add(doc1);
docs.add(doc2); 
docs.add(doc3); 
server.add(docs); 
server.commit();
}


第二步:查询指定的内容  主要用到 SolrQuery得到查询,然后server.query(SolrQuery对象) 执行查询,返回QueryResponse这样就可以在里面得到加进去的索引的 SolrDocumentList然后就可以得到你想要的东西了。

你可能感兴趣的:(solr)