solr7.4配置core創(chuàng)建及分詞配置

1、solr配置

? ? ? ? 首先我使用的是solr7.4所以下載解壓后無需進行tomcat關(guān)聯(lián),直接在解壓目錄下solr-7.4.0/bin/solr start 就可以運行 ,也可進入到bin目錄使用./solr start 進行運行,solr默認端口為8983,如需要自定義端口,則在啟動是后面加上 -p 如./solr start -p 8888,啟動后,在瀏覽器中輸入http://localhost:8983/solr即可跳轉(zhuǎn)到solr控制臺頁面



2、創(chuàng)建Core

? ? ? solr以文件的方式將數(shù)據(jù)存儲在core下,接下來我們就創(chuàng)建自己的core,點擊控制臺左邊的Core admin


點擊Add Core


core home的路徑的查看我們稍后再聊,點擊Add Core,我們認為會在core home路徑下,創(chuàng)建了一個名為coreTest的文件夾并完成core的創(chuàng)建,然而


上方紅色報錯信息中指出的/Users/edz/Documents/ide/solr/solr-7.4.0/server/solr/ 即為core home路徑,可以用如下方式查看


我們進入到core home中


發(fā)現(xiàn)僅僅是創(chuàng)建了coreTest文件夾,core并未成功創(chuàng)建,因為我們?nèi)鄙賡olrconfig.xml,將solr-7.4.0/server/solr/configsets/_default/下的conf文件夾,復制到新建的core目錄下,即coreTest,再次點擊Add Core


創(chuàng)建成功,點擊左側(cè)Core Selector選擇新添加的coreForCheck


添加自定義key



看到了存儲類型,就要開始講一下分詞了,講分詞之前我們先看一下field type的類別,


他的這些類別實際上是在配置文件中,配置文件路徑如下 solr home/coreTest(上面創(chuàng)建core時的instanceDir路口)/conf/managed-schema 我們打開看一下


下拉列表中的類型都是在此文件中配置的,solr默認添加了英文的分詞,但是沒有中文分詞,這意味在此文件中并無英文分詞的filed type,如果我們要進行分詞,需進行如下操作



3、分詞配置

下載ik分詞的jar包,

鏈接: https://pan.baidu.com/s/116BEGAB0HXMtIei8SViyqw 密碼: d3hy

將jar包復制到路徑solr-7.4.0/server/solr-webapp/webapp/WEB-INF/lib下,在上文提到的配置文件managed-schema中添加中文分詞的field類別

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

?????<analyzer type="index">?

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

?????????<filter class="solr.LowerCaseFilterFactory"/>

?????</analyzer>?

?????<analyzer type="query">?

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

?????????<filter class="solr.LowerCaseFilterFactory"/>?

?????</analyzer>?

?</fieldType>


添加solr自帶的中文分詞

將solr-7.4.0\contrib\analysis-extras\lucene-libs中的lucene-analyzers-smartcn-7.4.0.jar 復制到

solr-7.4.0/server/solr-webapp/webapp/WEB-INF/lib下,在配置文件managed-schema中添加中文分詞的field類別

<fieldType name="worddata_smart" 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>

重啟solr, bin/solr restart -force

再次進行添加

為方便比較,再建一個field


再添加一個使用自帶分詞


進行分詞校驗



結(jié)果如下

無中文分詞的字段


ik分詞


自帶分詞


上述為基本solr操作,下一步研究添加自定義分詞詞匯??

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容