solr安裝(solr與tomcat整合)
1.前提
1.1安裝JDK7,並配置環境變量JAVA_HOME
java -version
javac -version
1.2安裝tomcat7
1.2.1下載
1.2.2安裝
mkdir -p /usr/local/search/tomcat
cp /opt/apache-tomcat-7.0.55.tar.gz /usr/local/search/tomcat/
cd /usr/local/search/tomcat
tar -zxvf apache-tomcat-7.0.55.tar.gz
1.2.3配置用戶
vi /usr/local/search/tomcat/apache-tomcat-7.0.55/conf/tomcat-users.xml
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="manager,admin"/>
2.下載solr
3.解壓
mkdir -p /usr/local/search/solr
cp /opt/solr-4.9.0.tgz /usr/local/search/solr/
cd /usr/local/search/solr
tar -zxvf solr-4.9.0.tgz
4.將解壓後的solr中的example中的solr目錄拷貝到要作爲solr服務器存儲數據的位置
注:solr服務器存儲數據的位置主要就是solr存儲core即其索引信息的位置
mkdir -p /usr/local/search/solr/solrhome/data
cp -r /usr/local/search/solr/solr-4.9.0/example/solr /usr/local/search/solr/solrhome/data/
刪除拷貝過來的core.properties (否則collection1將作爲一個solr core)
rm -fr /usr/local/search/solr/solrhome/data/solr/collection1/core.properties
5.將相應的solr中的dist中的solr-4.9.0.war程序也拷貝出來
mkdir -p /usr/local/search/solr/solrhome/webapp
cp /usr/local/search/solr/solr-4.9.0/dist/solr-4.9.0.war /usr/local/search/solr/solrhome/webapp/
mv /usr/local/search/solr/solrhome/webapp/solr-4.9.0.war /usr/local/search/solr/solrhome/webapp/solr.war
6.修改%SOLR_HOME%/conf文件夾中的solrconfig.xml,設置data的路徑(<dataDir></dataDir>)
注意:這裏%SOLR_HOME%=/usr/local/search/solr/solrhome/data/solr/collection1/
vi /usr/local/search/solr/solrhome/data/solr/collection1/conf/solrconfig.xml
<dataDir>${solr.data.dir:/usr/local/search/solr/solrhome/data/solr/collection1/data}</dataDir>
注意:
%SOLR_HOME%目錄下應包含三個目錄:
- /conf:該目錄必須存在,必須包含配置文件 solrconfig.xml 和 schema.xml。其他的配置文件也要放在該目錄下。
- /data:用於存放索引的目錄,可以被處理快照( snapshots)的複製腳本( replication scripts )所使用。可以在 conf/solrconfig.xml中配置參數<dataDir></dataDir>來指定新的目錄。如果該目錄不存在,solr會自動創建。
- /lib:該目錄是可選的。如果該目錄存在,solr會加載該目錄下的所有jar包,可以使用這些jar去解析 solrconfig.xml 或 schema.xml 中指定的插件(plugins),如 Analyzers, Request Handlers等 。也可以在 conf/solrconfig.xml 中配置參數<lib></lib>來指定plugins的jar包的目錄。
7.新建lib目錄,並加入jar
mkdir -p /usr/local/search/solr/solrhome/data/solr/collection1/lib
cp /usr/local/search/solr/solr-4.9.0/contrib/analysis-extras/lib/*.jar /usr/local/search/solr/solrhome/data/solr/collection1/lib/
cp /usr/local/search/solr/solr-4.9.0/contrib/analysis-extras/lucene-libs/*.jar /usr/local/search/solr/solrhome/data/solr/collection1/lib/
cp /usr/local/search/solr/solr-4.9.0/contrib/clustering/lib/*.jar /usr/local/search/solr/solrhome/data/solr/collection1/lib/
cp /usr/local/search/solr/solr-4.9.0/contrib/dataimporthandler/lib/*.jar /usr/local/search/solr/solrhome/data/solr/collection1/lib/
cp /usr/local/search/solr/solr-4.9.0/contrib/extraction/lib/*.jar /usr/local/search/solr/solrhome/data/solr/collection1/lib/
cp /usr/local/search/solr/solr-4.9.0/contrib/langid/lib/*.jar /usr/local/search/solr/solrhome/data/solr/collection1/lib/
cp /usr/local/search/solr/solr-4.9.0/contrib/map-reduce/lib/*.jar /usr/local/search/solr/solrhome/data/solr/collection1/lib/
cp /usr/local/search/solr/solr-4.9.0/contrib/morphlines-cell/lib/*.jar /usr/local/search/solr/solrhome/data/solr/collection1/lib/
cp /usr/local/search/solr/solr-4.9.0/contrib/morphlines-core/lib/*.jar /usr/local/search/solr/solrhome/data/solr/collection1/lib/
cp /usr/local/search/solr/solr-4.9.0/contrib/uima/lib/*.jar /usr/local/search/solr/solrhome/data/solr/collection1/lib/
cp /usr/local/search/solr/solr-4.9.0/contrib/uima/lucene-libs/*.jar /usr/local/search/solr/solrhome/data/solr/collection1/lib/
cp /usr/local/search/solr/solr-4.9.0/contrib/velocity/lib/*.jar /usr/local/search/solr/solrhome/data/solr/collection1/lib/
cp /usr/local/search/solr/solr-4.9.0/dist/*.jar /usr/local/search/solr/solrhome/data/solr/collection1/lib/
cp /usr/local/search/solr/solr-4.9.0/dist/solrj-lib/*.jar /usr/local/search/solr/solrhome/data/solr/collection1/lib/
cp /usr/local/search/solr/solr-4.9.0/example/lib/ext/*.jar /usr/local/search/solr/solrhome/data/solr/collection1/lib/
8.修改%SOLR_HOME%/conf文件夾中的solrconfig.xml,設置lib的路徑(<lib></lib>)
vi /usr/local/search/solr/solrhome/data/solr/collection1/conf/solrconfig.xml
<lib dir="/usr/local/search/solr/solrhome/data/solr/collection1/lib" />
9.設置相應的tomcat的context
確保/usr/local/search/tomcat/apache-tomcat-7.0.55/conf/Catalina/localhost存在,不存在的話可以啓動一下tomcat,會自動創建,也可以手動創建。
touch /usr/local/search/tomcat/apache-tomcat-7.0.55/conf/Catalina/localhost/solr.xml
vi /usr/local/search/tomcat/apache-tomcat-7.0.55/conf/Catalina/localhost/solr.xml
<?xml version="1.0" encoding="utf-8"?>
<Context docBase="/usr/local/search/solr/solrhome/webapp/solr.war" debug="0" crossContext="true">
</Context>
10.爲context設置相應的環境變量,指定solr的主目錄地址
vi /usr/local/search/tomcat/apache-tomcat-7.0.55/conf/Catalina/localhost/solr.xml
<?xml version="1.0" encoding="utf-8"?>
<Context docBase="/usr/local/search/solr/solrhome/webapp/solr.war" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="/usr/local/search/solr/solrhome/data/solr" override="true"/>
</Context>
11.加入log的jar到tomcat的lib目錄下
cp /usr/local/search/solr/solr-4.9.0/example/lib/ext /*.jar /usr/local/search/tomcat/apache-tomcat-7.0.55/lib/
【
cp /usr/local/search/solr/solr-4.9.0/example/lib/ext/*.jar /usr/local/search/tomcat/apache-tomcat-7.0.55/lib/
】
12.配置web.xml
爲了解壓solr.war,必須啓動tomcat
12.1啓動tomcat
/usr/local/search/tomcat/apache-tomcat-7.0.55/bin/startup.sh
12.2停止tomcat
/usr/local/search/tomcat/apache-tomcat-7.0.55/bin/shutdown.sh
12.3配置web.xml
vi /usr/local/search/tomcat/apache-tomcat-7.0.55/webapps/solr/WEB-INF/web.xml
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/search/solr/solrhome/data/solr</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
13.配置log4j
爲了解壓solr.war,必須啓動tomcat
13.1啓動tomcat
/usr/local/search/tomcat/apache-tomcat-7.0.55/bin/startup.sh
13.2停止tomcat
/usr/local/search/tomcat/apache-tomcat-7.0.55/bin/shutdown.sh
13.3配置log4j
mkdir -p /usr/local/search/tomcat/apache-tomcat-7.0.55/webapps/solr/WEB-INF/classes
cp /usr/local/search/solr/solr-4.9.0/example/resources/log4j.properties /usr/local/search/tomcat/apache-tomcat-7.0.55/webapps/solr/WEB-INF/classes/
vi /usr/local/search/tomcat/apache-tomcat-7.0.55/webapps/solr/WEB-INF/classes/log4j.properties
solr.log=/var/log
14.測試
14.1啓動tomcat
/usr/local/search/tomcat/apache-tomcat-7.0.55/bin/startup.sh
14.2訪問solr的Web-UI
http://10.41.2.82:8080/solr/admin
15.加入中文分詞
15.1將中文分詞的包拷貝到server的lib中
15.2將中文分詞添加到FieldType中,需要指定中文詞庫的位置,注意該位置路徑是相對於%SOLR_HOME%路勁而言的