教程html
https://www.w3cschool.cn/solr_doc/solr_doc-ltzn2fm4.htmljava
官方文檔 https://lucene.apache.org/solr/guide/7_5/solr-tutorial.htmlgit
單機版安裝github
1.環境web
版本solr 7.5 下載地址 http://mirror.bit.edu.cn/apache/lucene/solr/7.5.0/apache
tomcat 8.5 必須是8.0以上版本centos
jdk 9 必須是jdk1.8以上版本tomcat
centos 7.0bash
2. 與tomcat整合app
解壓
unzip solr-7.5.0.zip -C /usr/local
將解壓後的solr-7.5.0.zip中的webapp 複製到tomcat的webapps下,並修更名稱
cp -r /usr/local/solr-7.5.0/server/solr-webapp/webapp /usr/local/tomcat-9.0.12/webapps/solr
將solr的一些配置文件複製到家目錄並更名
cp -r /usr/local/solr-7.5.0/server/solr /data/solrhome
刪除configsets
rm -rf configsets
複製配置文件並重命名collection1
cp -r /usr/local/solr-7.5.0/example/example-DIH/solr/solr /data/solrhome/collection1
打開collection1下的core.properties
vi core.properties (名字colletion1隨便取)
建立classes文件夾
mkdir /usr/local/tomcat-9.0.12/webapps/solr/WEB-INF/classes
複製日誌配置文件
cp /usr/local/solr-7.5.0/server/resources/* /usr/local/tomcat-9.0.12/webapps/solr/WEB-INF/classes (有用的只有log4j2.xml)
cp /usr/local/solr-7.5.0/server/lib/*.jar /usr/local/tomcat-9.0.12/webapps/solr/WEB-INF/lib
cp /usr/local/solr-7.5.0/server/lib/ext/*.jar /usr/local/tomcat-9.0.12/webapps/solr/WEB-INF/lib
備註:其中的jetty包沒啥用也能夠刪除
將以下兩個包也複製到lib下
cp /usr/local/solr-7.5.0/dist/solr-dataimporthandler*.jar /usr/local/tomcat-9.0.12/webapps/solr/WEB-INF/lib
註釋權限並添加家目錄
沒註釋會顯現以下錯誤403沒有權限
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/data/solrhome</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
關閉防火牆
systemctl stop firewalld
打開界面
3. 安裝ik分詞器
下載 http://search.maven.org/#search%7Cga%7C1%7Ccom.github.magese solr7.5
在/data/solrhome/collection1/conf目錄下的managed-schema文件中添加以下配置
<fieldType name="text_ik" class="solr.TextField"> <analyzer type="index"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType>
原配置基本語義的解釋
type :類型 indexed 索引 stored 存儲 required 是否必須 multivalued 是否可分割 name 名稱
4. solcloud集羣搭建
安裝3個zookeeper,組成zookeeper集羣,見zookeeper
端口分別是2181,2182,2183
集羣與選舉端口
server.1=192.168.1.128:2881:3881 server.2=192.168.1.128:2882:3882 server.3=192.168.1.128:2883:3883
上傳solrcloud配置文件
./zkcli.sh
這個命令,必須保證zookeeper集羣是開着的
-zkhost 192.168.1.128:2181, 192.168.1.128:2182, 192.168.1.128:2183 -cmd upconfig -confdir /usr/local/solrcloud/solrhome1/collection1/conf -confname myconf ./zkcli.sh
進入zookeeper中使用zkCli.sh
而後查看是否上傳成功
4個tomcat,單機版的安裝見上述
端口分別是8081,80828078,8087
須要修改的地方
修改配置solrhome的solr.xml,換成相應的端口名與地址
換成相應的地址(位置單機版中有)
添加配置tomcat的bin的catalina.sh
JAVA_OPTS="-DzkHost=192.168.1.128:2181,192.168.1.128:2182,192.168.1.128:2183"
修改/solrhome1/collection1中的core.properties
#節點名稱,每一個core不同 coreNodename=c1 #分片名稱,每一個保持不同 shard=s1
zookeeper使用自定義腳本啓動,而後tomcat所有啓動,登陸界面