前面两章已经可以运行起Solr4.0了。接下来要跟Solr通讯进行数据交互,关于Solr支持的DIH数据导入,我不写了。
回到solr4.0解压出的文件夹中找到dist
新建一个Java工程,这里我就新建了一个Web工程,将solrj和solrj-lib文件夹中的jar文件放到项目依赖中去。
package org.solrj.root;
import java.io.IOException;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
public class Root {
public static void main(String[] args) {
SolrServer server=new HttpSolrServer("http://localhost:8080/solr/core0/");
try {
//test
server.deleteByQuery( "*:*" );
} catch (SolrServerException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
执行后,没有异常,说明没有问题
public static void addIndexDoc(SolrServer server) throws SolrServerException, IOException {
//注意这里添加的字段名必须是 服务器上schema定义了的,不了解的请了解schema.xml去。
SolrInputDocument doc1 = new SolrInputDocument();
doc1.addField("id", "dog1001", 1.0f);
doc1.addField("name", "jack", 1.0f);
doc1.addField("price", 10);
SolrInputDocument doc2 = new SolrInputDocument();
doc2.addField("id", "dog1002", 1.0f);
doc2.addField("name", "jim", 1.0f);
doc2.addField("price", 15);
Collection<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();
docs.add( doc1 );
docs.add( doc2 );
server.add(docs);
server.commit();
}
执行添加方法
添加成功后,查询如下图
这说明我们添加成功