首页 > 代码库 > 项目记录:solr4.2 在tomcat7 的两种(singlecore + multicore) 配置安装 及solrj 的初步使用
项目记录:solr4.2 在tomcat7 的两种(singlecore + multicore) 配置安装 及solrj 的初步使用
第一种方式:singlecore
1、将solr4.2解压, 拷贝solr-4.2.0\dist\solr-4.2.0.war 至tomcat里的webapps文件夹下,改名成solr.war
2、启动tomcat服务器,目的是在webapps下将solr.war解压出solr文件包,即:Tomcat7\webapps\solr\。不必理会报错。解压出solr文件包之后,关闭tomcat服务器,然后删除solr.war。
3、将文件包 solr-4.2.0\example\solr 拷贝出来,作为solrhome。此处拷贝至 c:\java\ 下
4、配置solrhome。来到Tomcat7\webapps\solr\WEB-INF,找到web.xml,将如下代码加入:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>C:\Java\solr</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
启动tomcat服务器,输入localhost:8080/solr 即可看到效果。
-----------------------------------------------------------------------------------
配置完singlecore方式的solr之后,即进行Solrj的测试,简单代码如下:
(注意:需要拷贝jar包至项目中)
public class SolrjTest {
private static final String URL = "http://localhost:8080/solr";
public void write() throws Exception{
SolrServer solrServer = new HttpSolrServer(URL);
SolrInputDocument doc1 = new SolrInputDocument();
doc1.addField("id", 1);
doc1.addField("name", "china beijing");
SolrInputDocument doc2 = new SolrInputDocument();
doc2.addField("id", 2);
doc2.addField("name", "us clinton");
List<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();
docs.add(doc1);
docs.add(doc2);
solrServer.add(docs);
solrServer.commit();
}
public void search() throws Exception{
SolrServer solrServer = new HttpSolrServer(URL);
SolrQuery query = new SolrQuery("beijing");
QueryResponse response = solrServer.query(query);
SolrDocumentList documentList = response.getResults();
System.out.println("文档个数:"+documentList.getNumFound());
System.out.println("查询时间:"+response.getQTime());
for (SolrDocument solrDocument : documentList) {
System.out.println("姓名:"+solrDocument.getFieldValue("name"));
}
}
}
第二种方式:multicore
1、与singlecore相同
2、与singlecore相同
3、将文件包 solr-4.2.0\example\multicore 拷贝出来,作为solrhome。此处拷贝至 c:\java\ 下,将文件包名字改为solr
4、配置solrhome:制作一个solr.xml文件,放置于 Tomcat7\conf\Catalina\localhost 目录下。文件内容为
<Context docBase="C:\Java\Tomcat7\webapps\solr" reloadable="true" >
<Environment name="solr/home" type="java.lang.String" value="http://www.mamicode.com/C:/Java/solr" override="true" />
</Context>
5、配置 IK 分词器。来到C:\Java\solr\core0\conf,打开schema.xml 在<types></types>中添加如下代码
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
需要引入IK的jar包 版本:2012-FF hotfix 1
下载地址:https://code.google.com/p/ik-analyzer/downloads/detail?name=IK%20Analyzer%202012FF_hf1.zip&can=2&q=
1.将 IKAnalyzer.cfg.xml,IKAnalyzer2012FF_u1.jar,stopword.dic 拷贝到tomcat的/webapps/solr/WEB-INF/lib/下面
大功告成。
参考该文:Solr4.2 + Tomcat 7 配置及使用solrnet访问和管理索引服务
项目记录:solr4.2 在tomcat7 的两种(singlecore + multicore) 配置安装 及solrj 的初步使用