前面两章已经可以运行起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(); }
执行添加方法
添加成功后,查询如下图
这说明我们添加成功