solr-7.6.0.tgz安裝與中文分析器

solr-7.6.0.tgz安裝

1.下載地址

http://lucene.apache.org/solr/

在這裏插入圖片描述

2 配置solr 到tomcat(關鍵)

將solr 的webapp文件複製到tomcat的webapps目錄下並命名爲solr

3 配置依賴包

將solr下 /ext 文件夾中 所有的jar 包複製到 tomcat 裏的solr 目錄下的WEB-INF/lib 下

cp -r /opt/solr-7.6.0/server/lib/ext/ /opt/tomcat-solr/webapps/solr/WEB-INF/lib/

將solr下 server/lib/metrics開頭的jar包複製到 tomcat裏的solr 目錄下的WEB-INF/lib 下

cp -r /opt/solr-7.6.0/server/lib/metrics*.jar   /opt/tomcat-solr/webapps/solr/WEB-INF/lib/

4 創建tomcat solr 的 classes 文件

mkdir /opt/tomcat-solr/webapps/solr/WEB-INF/classes

複製 jetty-logging.properties,log4j2.xml 到 classes 文件夾下

cp   /opt/solr-7.6.0/server/resources/jetty-logging.properties   /opt/tomcat-solr/webapps/solr/WEB-INF/classes
cp  /opt/solr-7.6.0/server/resources/log4j2.xml  /opt/tomcat-solr/webapps/solr/WEB-INF/classes

5 添加日誌目錄

修改tomcat的bin/catalina.sh文件

大概246行的位置添加

set "JAVA_OPTS=$JAVA_OPTS -Dsolr.log.dir={你的日誌目錄}"

6 創建 solr 的core 的主目錄(也就是存放core的位置)

cp -r /opt/solr-7.6.0/server/solr /opt/solrhome

7 修改配置文件指定solr的home

vim /opt/tomcat-solr/webapps/solr/WEB-INF/web.xml

添加以下內容:(注意第三行的值要替換成你們solr的home的絕對路徑)

<env-entry>
    <env-entry-name>solr/home</env-entry-name>
    <env-entry-value>/opt/solrhome</env-entry-value>
    <env-entry-type>java.lang.String</env-entry-type>
</env-entry>

8 解決限制資源訪問

如果我們按照上面的配置好了,並啓動好了tomcat,那麼我們直接去訪問我們的solr 會發現這個錯:
HTTP Status 403 - Access to the requested resource has been denied,拒絕我們的訪問資源請求。
解決辦法:
註釋solr/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>
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Enable everything but TRACE</web-resource-name>
      <url-pattern>/</url-pattern>
      <http-method-omission>TRACE</http-method-omission>
    </web-resource-collection>
</security-constraint>
-->

9 啓動成功訪問如下圖示

然後啓動tomcat ,我們訪問:http://ip:port/solr/index.html

在這裏插入圖片描述

10 新建core

a 創建core 目錄

我這裏的solr 的home目錄是 /opt/solrhome

mkdir  /opt/solrhome/test1  

b 添加配置文件

將配置文件複製到 test1 目錄下

cp  /opt/solrhome/configsets/_default/conf/    /opt/solrhome/test1/

c 添加data目錄

用於存放數據

mkdir    /opt/solrhome/test1/data/

d 添加core.properties 文件

name=test1 ,test1值換成你們core的名稱。

echo "name=test1" >/opt/solrhome/test1/core.properties

我們重新啓動就可以在 core 看到我們新加的目錄名稱了。

e 啓動效果圖

在這裏插入圖片描述

到的問題以及解決辦法:

錯誤內容**

2019/1/9 上午11:01:16
WARN false x:ljf_dev SolrConfig Couldn't add files from /opt/solrhome/ljf_dev/../../../../contrib/extraction/lib filtered by .*\.jar to classpath: /opt/solrhome/ljf_dev/../../../../contrib/extraction/lib
2019/1/9 上午11:01:16
WARN falsex:ljf_dev SolrConfig  Couldn't add files from /opt/solrhome/ljf_dev/../../../../dist filtered by solr-cell-\d.*\.jar to classpath: /opt/solrhome/ljf_dev/../../../../dist

錯誤原因

上面的錯誤是說加載不到那些jar包 ,上面的這些jar包還在我們解壓的文件裏面,它肯定是找不到,我們先找到我們這個配置文件,然後修改它尋找的路徑。
配置文件是 core 目錄下的 conf 裏的 solrconfig.xml

我們可以看到默認的配置路徑是: 這個路徑是solr的安裝路徑,我們可以更改成絕對路徑

  <lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />

解決辦法

將那些jar包放在一個固定路徑,然後更改配置文件裏的路徑爲絕對路徑

#備份下配置文件
cp  /opt/solrhome/test1/conf/solrconfig.xml  /opt/solrhome/test1/conf/solrconfig.xml.bak
#將依賴文件複製到 tomcat solr 下
cp  -r /opt/solr-7.6.0/dist/     /opt/tomcat-solr/webapps/solr/
cp  -r /opt/solr-7.6.0/contrib/     /opt/tomcat-solr/webapps/solr/

然後更改配置文件 /opt/solrhome/test1/conf/solrconfig.xml  修改爲絕對路徑,下面爲爲修改後的。
  <lib dir="/opt/tomcat-solr/webapps/solr/contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="/opt/tomcat-solr/webapps/solr/dist/" regex="solr-cell-\d.*\.jar" />

  <lib dir="/opt/tomcat-solr/webapps/solr/contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="/opt/tomcat-solr/webapps/solr/dist/" regex="solr-clustering-\d.*\.jar" />

  <lib dir="/opt/tomcat-solr/webapps/solr/contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="/opt/tomcat-solr/webapps/solr/dist/" regex="solr-langid-\d.*\.jar" />

  <lib dir="/opt/tomcat-solr/webapps/solr/contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="/opt/tomcat-solr/webapps/solr/dist/" regex="solr-velocity-\d.*\.jar" />

這樣重新啓動tomcat 就不會再有警告了。

11 配置IK中文分詞器

a 下載 IKAnalyzer6.5.0.jar

百度網盤下載地址

鏈接:https://pan.baidu.com/s/1dUQM9vuRGID5ZnpvvNG4NA
提取碼:hpcj

下載 IKAnalyzer6.5.0.jar,然後複製到tomcat的webapps/solr/WEB-INF/lib/目錄下

添加如下配置文件到 webapps/solr/WEB-INF/classes/ 目錄下,同時添加擴展詞典ext.dic和停用詞典stopword.dic

webapps/solr/WEB-INF/classes/IKAnalyzer.cfg.xml

<properties>  
    <comment>IK Analyzer 擴展配置</comment>
    <!--用戶可以在這裏配置自己的擴展字典 -->
    <entry key="ext_dict">ext.dic;</entry> 
    <!--用戶可以在這裏配置自己的擴展停止詞字典-->
    <entry key="ext_stopwords">stopword.dic;</entry> 
 </properties>

b 增加新的字段類型

修改配置文件 solrhome\collection1\conf\managed-schema:

solrhome\collection1\conf\managed-schema

在<schema…> 標籤下增加如下代碼

<fieldType name="text_ik" class="solr.TextField">  

        <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>  

</fieldType>  

<field name="mytext_ik"  type="text_ik" indexed="true"  stored="true"  multiValued="false" />

效果如圖

重新測試分詞 如圖所示,使用中文分詞後,就可以看到分詞的效果了。 注: FieldType 記得選增加新的字段類型 中的 text_ik 或者 mytext_ik

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章