前提准备:
环境必须是tomcat7.0以上,jdk7.0以上,jre7.0以上,且配置好环境变量。
从官网下载最新版本
一、解压并将solr-4.10.2/example/webapps 下的solr.war拷贝到webapps下手动启动tomcat解压solr.war。
二、将apache-tomcat-7.0.42/webapps/solr/WEB-INF下的web.xml中如下注解打开并配置solr home的位置指向
三、在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>
此中方式在部署时,不方便,需打包前给据部署环境修改。
四、拷贝solr-4.10.2/example/lib/ext下的全部jar 到apache-tomcat-7.0.42/webapps/solr/WEB-INF/lib/下java
五、apache-tomcat-7.0.42/webapps/solr/WEB-INF下新建一个classes文件夹,将solr-4.10.2/example/resources下的log4j.properties拷贝过去web
六、启动tomcat成功后访问http://localhost:8080/solr/就能看到apache
1,Exception in thread "main" org.apache.solr.common.SolrException: Unknowndocument router '{name=implicit}'tomcat
这个是SolrJ的版本不一致 app
2,we are not the leader webapp
这个好像是因为本身在本机起了个zookeeper 而后注册上去的节点是127.0.1.1:xxx8983这个坑了!router
解决mmseg4j-1.9.1与solr-4.10.2兼容问题xml
Requests: 4232769(682/s),Fetched: 4232767 (682/s), Skipped: 0, Processed: 2116383(341/s)ip
Started: about 2 hours agoci
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。