如何在eclipse中部署solr的web工程
2016-05-12 · 百度知道合伙人官方认证企业
1.新建【Dynamic Web project】项目
2.删除WebContent下面的所有内容,并将apache-solr-3.5.0.war(下载dist文件夹中)所有内容复制到WebContent下面。
3.指定solrHome
在web.xml中添加以下内容
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>d:/</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
在这里指定solrHome=d:/
4.在d盘下配置solr cores(和solrHome对应)
在d盘下新建solr.xml,内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="false">
<!--
adminPath: RequestHandler path to manage cores.
If 'null' (or absent), cores will not be manageable via request handler
-->
<cores adminPath="/admin/cores">
<core name="core0" instanceDir="D:/solrHome2/multicore/core0" />
<core name="core1" instanceDir="D:/solrHome2/multicore/core1" />
</cores>
</solr>
在上面笔者配置了三个solrCore,每个solrCore指定到具体的文件目录。
5.准备具体的solrCore目录
可以直接从example下拷贝multicore到D:/solrHome2下,当然也可以在第三步中将solrHome指向到
【D:/solrHome2/multicore】
6.在eclipse中启动solr
servers窗口->new Server->选择一个server runtime enviroment->add 项目
编辑Appche tomcat,修改server locations。
将项目发布到当前tomcat的webapps目录下,项目结构比较清晰。
7.启动tomcat
8.浏览solr
try {
solr = new CommonsHttpSolrServer("http:// r");
solr.setConnectionTimeout(100);
solr.setDefaultMaxConnectionsPerHost(100);
solr.setMaxTotalConnections(100);
} catch (Exception e) {
System.out.println("请检查tomcat服务器或端口是否开启!");
e.printStackTrace();
}
2、 添加索引
Collection<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();
for (int i = 0; i < list.size(); i++) {
Item item = list.get(i);
//设置每个字段不得为空,可以在提交索引前进行检查
if (CheckItem(item)) {
SolrInputDocument doc = new SolrInputDocument();
//在这里请注意date的格式,要进行适当的转化,上文已提到
doc.addField("id", item.getId());
…………
docs.add(doc);
}
}
try {
solr.add(docs);
//对索引进行优化
solr.optimize();
solr.commit();
} catch (Exception e) {
e.printStackTrace();
}