solr安装与配置

前提准备:
环境必须是tomcat7.0以上,jdk7.0以上,jre7.0以上,且配置好环境变量。
从官网下载最新版本
1、解压并将solr-4.10.2/example/webapps 下的solr.war拷贝到webapps下手动启动tomcat解压solr.war。
2、将apache-tomcat-7.0.42/webapps/solr/WEB-INF下的web.xml中以下注解打开并配置solr home的位置指向
  
       
3、在web.xml中设置
    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>...../solr-4.10.2/examle/solr</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>
此中方式在部署时,不方便,需打包前给据部署环境修改。


   
4、拷贝solr-4.10.2/example/lib/ext下的所有jar 到apache-tomcat-7.0.42/webapps/solr/WEB-INF/lib/下

5、apache-tomcat-7.0.42/webapps/solr/WEB-INF下新建一个classes文件夹,将solr-4.10.2/example/resources下的log4j.properties拷贝过去


6、启动tomcat成功后访问http://localhost:8080/solr/就能看到




1,Exception in thread "main" org.apache.solr.common.SolrException: Unknowndocument router '{name=implicit}'

这个是SolrJ的版本不一致 

2,we are not the leader 

这个好像是由于自己在本机起了个zookeeper 然后注册上去的节点是127.0.1.1:xxx8983这个坑了!



解决mmseg4j-1.9.1与solr-4.10.2兼容问题

Requests: 4232769 (682/s), Fetched: 4232767 (682/s), Skipped: 0, Processed: 2116383 (341/s)
Started: about 2 hours ago
feteched的值为 0 时。

 该原因是源码的一个bug引起的,需要修改上面下载的mmseg4j-analysis-1.9.1.zip解压后的mmseg4j-analysis目录下的类:MMSegTokenizer.java,修改reset()方法并加上下面注释中的这一句

public void reset() throws IOException {

    //lucene 4.0

    //org.apache.lucene.analysis.Tokenizer.setReader(Reader)

    //setReader 自动被调用, input 自动被设置。

    super.reset();   //加这一句

    mmSeg.reset(input);

  }

修改后运行mvn clean package -DskipTests进行打包得到最新的mmseg4j-analysis-1.9.1.jar 并替换Tomcat下的solr下的WEB-INF/lib下的mmseg4j-analysis-1.9.1.jar



你可能感兴趣的:(solr安装与配置)