首页 > 代码库 > 项目记录: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 的初步使用