前提準備:
環境必須是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。