日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

solr4.10和solr5.x ik分词器配置,(Deprecated--2017-04-23)

發布時間:2024/9/27 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 solr4.10和solr5.x ik分词器配置,(Deprecated--2017-04-23) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

A:配置IK-Analyzer

1、下載wltea-IK-Analyzer-2012FF-master,將IK-Analyzer-2012FF\dist中的IKAnalyzer2012_FF.jar和IKAnalyzer2012FF_u1.jar拷貝到:/home/software/solr-5.3.1/server/solr-webapp/webapp/WEB-INF/lib?? (注意:這個wltea-IK-Analyzer-2012FF-master針對solr-4.10的還可以,但是針對其它版本的就不給力了,但是配置分詞的方式大致相同

wltea-IK-Analyzer-2012FF-master的內容如下:

?

2、將IK-Analyzer-2012FF\src中ext.dic、IKAnalyzer.cfg.xml、stopword.dic拷貝到/home/software/solr-5.3.1/server/solr-webapp/webapp/WEB-INF/classes中,拷貝完成之后的效果如下:

?

3、進入:/home/software/solr-5.3.1/server/solr/docdetection/conf,修改schema.xml,配置域的類型fieldType:

即在文件schema.xml中添加ik分詞器相關的內容:

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

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

</fieldType>

?

4、配置field(相當于是要增加的索引字段),使用中文分詞器的fieldType.即:

<!--定義field,指定field的type屬性為text_ik-->

<field name="title_ik" type="text_ik" indexed="true" stored="true" />

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

只有指定了type=”text_ik“了,才表示要進行分詞。

?

重啟solr

?

發現報如下錯誤:

?

這是由于ik_不支持solr5.3導致的。

解決辦法是:https://github.com/EugenePig/ik-analyzer-solr5??下載這個然后直接編譯 按照reademe 的說明配置即可

?

5、下載zip版本,按照github上的說明,進行如下操作:

使用maven進行打包:

如果是在JDK8環境下,執行:

source /etc/profile

mvn clean install

因為我的JDK環境是JDK8,所以執行下面的操作(注意盡可能不要再本地執行下面的命令,若可以,就直接在服務器上執行吧,不然便宜出來的ik的jar包可能還是不兼容服務器上的版本,具體的問題會在本文下面介紹,并含有解決方案):

?

如果是在JDK7環境下,執行:

mvn clean -Djavac.src.version=1.7-Djavac.target.version=1.7 install

?

然后拷貝ik-analyzer-solr5-5.x.jarserver/solr-webapp/webapp/WEB-INF/lib 這個目錄下:

?

solrCoreschema.xml中進行如下配置(在實際過程中,我沒有這樣按照github上說的這兩種方式配置分詞)

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

? <analyzer type="index">

??? <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" />

? </analyzer>

? <analyzer type="query">

??? <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" />

? </analyzer>

</fieldType>

或者:

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

? <analyzer type="index" useSmart="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>??

? <analyzer type="query" useSmart="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>??

</fieldType>

?

如果在執行mvn clean install的時候報如下錯誤:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:compile (default-compile) on project ik-analyzer-solr5: Fatal error compiling: invalid target release: 1.8 -> [Help 1]

?

請檢查你的 JAVA_HOME 設置,如果 JAVA_HOME設置存在, 它可能不是JAVA8.

?

SolrCoreInitialization Failures

  • docdetection:?org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: JVM Error creating core [docdetection]: org/wltea/analyzer/lucene/IKAnalyzer : Unsupported major.minor version 52.0

出現上面的這個問題是本地編譯的jkd版本和服務器上的jdk版本不一致導致的,可以通過在服務器上解決來解決這個問題! (比如:我本地使用的jdk版本是:1.8.0_111,服務器上使用的版本是:1.8.0_121,都是JDK1.8,但是發現并不能通用)


下載apache-maven-3.3.9-bin.tar.gz

tar -zxvf apache-maven-3.3.9-bin.tar.gz

配置環境變量:

#export JAVA_HOME=/usr/java/jdk1.7.0_79

export JAVA_HOME=/usr/local/jdk1.8.0_121

export MAVEN_HOME=/home/software/apache-maven-3.3.9

export MONGODB_HOME=/usr/local/mongodb

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin:$MONGODB_HOME/bin:$MAVEN_HOME/bin

?

將ik-analyzer-solr5-master.zip上傳到solr所在的服務器。使用maven對ik-analyzer-solr5-master重新打包,

unzip?ik-analyzer-solr5-master.zip

cd?ik-analyzer-solr5-master

在執行之前一定要執行下面的操作,不然可能會報錯

source /etc/profile ? ??

然后再執行下面的命令

mvn clean install


假設解壓后的文件夾是:/home/software/ik-analyzer-solr5-master,里面的內容是:

?

然后執行maven命令:mvn clean install

root@iZm5effj2tm01xy2qqmnlzZ:/home/software/ik-analyzer-solr5-master # cd ?target/

root@iZm5effj2tm01xy2qqmnlzZ:/home/software/ik-analyzer-solr5-master/target# cp ik-analyzer-solr5-5.x.jar ?/home/software/solr-5.3.1/server/solr-webapp/webapp/WEB-INF/lib/

?

root@iZm5effj2tm01xy2qqmnlzZ:/home/software/ik-analyzer-solr5-master/target# cd classes/

root@iZm5effj2tm01xy2qqmnlzZ:/home/software/ik-analyzer-solr5-master/target/classes# rm -rf org/

root@iZm5effj2tm01xy2qqmnlzZ:/home/software/ik-analyzer-solr5-master/target/classes#cp ?-R * ?/home/software/solr-5.3.1/server/solr-webapp/webapp/WEB-INF/classes/

?

root@xxx:/home/software/solr-5.3.1#cd/home/software/solr-5.3.1

root@xxx:/home/software/solr-5.3.1#bin/solr stop –all

root@xxx:/home/software/solr-5.3.1#bin/solr start -all -noprompt??

?

/home/software/solr-5.3.1/server/solr? (這個地方相當于是solrhome)下所有的schema.xml配置如下內容:

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

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

</fieldType>

?

schema.xml中的配置如下:

?

再次到瀏覽器訪問:http://localhost:8983/solr,發現不報錯了

接著同步mongodb的數據:

mongo-connector -m localhost:27017 --auto-commit-interval=1 -t http://localhost:8983/solr/docdetection -d solr_doc_manager

?

最后的分詞效果是:

?

?

?

總結

以上是生活随笔為你收集整理的solr4.10和solr5.x ik分词器配置,(Deprecated--2017-04-23)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。