一、材料準(zhǔn)備
1.下載solr7.2眉厨,解壓
下載:wget http://mirrors.shuosc.org/apache/lucene/solr/7.2.0/solr-7.2.0.tgz
解壓:tar -zxvf solr-7.2.0.tgz
2.下載tomcat,解壓
下載:wget https://mirrors.cnnic.cn/apache/tomcat/tomcat-9/v9.0.2/bin/apache-tomcat-9.0.2.tar.gz
解壓:tar -zxvf apache-tomcat-9.0.2.tar.gz
二炮障、搭建單機(jī)版
1.創(chuàng)建solr7文件夾存放solr
mkdir /usr/local/solr7
2.進(jìn)入到solr7文件夾
cd solr7
3.把解壓完的apache-tomcat-9.0.2命名為tomcat萧朝,并且拷貝到solr7文件夾下
重命名:mv apache-tomcat-9.0.2 tomcat
拷貝:cp -r tomcat/ /usr/local/solr7
4.把solr-7.2.0/server/solr-webapp里面的webapp拷貝到tomcat 的webapps下略荡,重命名為solr
拷貝:cp -r /root/solr-7.2.0/server/solr-webapp/webapp /usr/local/solr7/tomcat/webapps
重命名:mv webapps/ solr
5.拷貝solr-7.2.0\server\lib\ext 下的jar包以及l(fā)ib目錄下gmetric4j-1.0.7.jar,以metrics開頭的jar包拷貝到 tomcat\webapps\solr 項(xiàng)目的WEB-INF\lib下
進(jìn)入ext文件夾:cd /root/software/solr-7.2.0/server/lib/ext
拷貝:cp * /usr/local/solr7/tomcat/webapps/solr/WEB-INF/lib
進(jìn)入到lib文件夾:cd /root/software/solr-7.2.0/server/lib
拷貝:cp gmetric4j-1.0.7.jar /usr/local/solr7/tomcat/webapps/solr/WEB-INF/lib
拷貝:cp metrics* /usr/local/solr7/tomcat/webapps/solr/WEB-INF/lib
6.拷貝solr-7.2.0\server 下的solr文件夾到其它非中文目錄下,重命名為solrhome满哪,我是建立到了solr7本身的安裝目錄下
進(jìn)入server文件夾:cd /root/software/solr-7.2.0/server
拷貝:cp -r solr /usr/local/solr7
重命名:mv solr solrhome
7.修改/usr/local/solr7/tomcat/webapps/solr/WEB-INF\web.xml, 找到如下代碼婿斥,去掉注釋,/put/your/solr/home/here 改為你自己的solrhome的路徑
進(jìn)入WEB-INF文件夾:cd /usr/local/solr7/tomcat/webapps/solr/WEB-INF
編輯web.xml:vim web.xml
修改的內(nèi)容如下:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr7/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
8.拷貝solr7.2.0\server\resources下的log4j.properties到/usr/local/solr7/tomcat/webapps/solr/WEB-INF\classes哨鸭,如果WEB-INF下沒有classes文件那么就創(chuàng)建一個(gè)classes文件夾
進(jìn)入resources文件夾:cd /root/software/solr-7.2.0/server/resources
拷貝:cp log4j.properties /usr/local/solr7/tomcat/webapps/solr/WEB-INF/classes
9.啟動(dòng)tomcat民宿,訪問(wèn)solr時(shí)后面記得加上“index.hmtl”
進(jìn)入bin文件夾:cd /usr/local/solr7/tomcat/bin
啟動(dòng):./startup.sh
10.查看tomcat是否成功啟動(dòng),沒能成功啟動(dòng)大多數(shù)原因是端口沒打開像鸡,tomcat默認(rèn)8080端口勘高,這里建議端口改成solr默認(rèn)的8983端口
ps aux|grep tomcat
image.png
image.png
11.注意:如果出現(xiàn)403錯(cuò)誤,編輯web.xml照片截圖中位置,將其注釋
<!-- <security-constraint>
<web-resource-collection>
<web-resource-name>Disable TRACE</web-resource-name>
<url-pattern>/</url-pattern>
<http-method>TRACE</http-method>
</web-resource-collection>
<auth-constraint/>
</security-constraint>-->
image.png
三华望、創(chuàng)建core
1.點(diǎn)擊Core Admin蕊蝗,再點(diǎn)擊Add Core
image.png
2.報(bào)錯(cuò),提示缺少配置文件:Error CREATEing SolrCore 'new_core': Unable to create core [new_core] Caused by: Can't find resource 'solrconfig.xml' in classpath or '/usr/local/solr7/solrhome/new_core'
image.png
3.拷貝server/solr/configsets/_default/下的conf文件夾到solr7home/new_core文件夾下
進(jìn)入_default文件夾:cd /root/software/solr-7.2.0/server/solr/configsets/_default
拷貝:cp -r conf/ /usr/local/solr7/solrhome/new_core
4.點(diǎn)擊Add Core赖舟,成功蓬戚。
image.png
四、配置中文分析器
1.拷貝dist文件夾里的solr-dataimporthandler-7.2.0.jar
進(jìn)入dist文件夾:cd /root/software/solr-7.2.0/dist
拷貝:cp solr-dataimporthandler-7.2.0.jar /usr/local/solr7/tomcat/webapps/solr/WEB-INF/lib
2.拷貝lucene-libs文件夾里的中文分析器的jar包
進(jìn)入lucene-libs文件夾:cd /root/software/solr-7.2.0/contrib/analysis-extras/lucene-libs
拷貝:cp * /usr/local/solr7/tomcat/webapps/solr/WEB-INF/lib
3.編輯conf文件夾里的managed-schema文件
進(jìn)入conf文件夾:cd /usr/local/solr7/solrhome/new_core/conf
編輯managed-schema宾抓,在最后面的地方添加FieldType類型:vim managed-schema
<!-- ChineseAnalyzer -->
<fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
</fieldType>
4.自定義業(yè)務(wù)域
編輯managed-schema子漩,在最后面的地方添加自定義業(yè)務(wù)與:vim managed-schema
<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
<field name="item_price" type="plong" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category_name" type="string" indexed="true" stored="true" />
<field name="item_desc" type="text_ik" indexed="true" stored="false" />
<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_sell_point" dest="item_keywords"/>
<copyField source="item_category_name" dest="item_keywords"/>
<copyField source="item_desc" dest="item_keywords"/>
5.重啟tomcat,就能發(fā)現(xiàn)自定義域已經(jīng)出現(xiàn)
image.png
6.測(cè)試分詞效果
image.png