solr 中文分词器IKAnalyzer和拼音分词器pinyin
solr分詞過程:
Solr Admin中,選擇Analysis,在FieldType中,選擇text_en
左邊框輸入 “冬天到了天氣冷了小明不想上學去了”,點擊右邊的按鈕,發現對每個字都進行分詞。這不符合中國人的習慣。
solr6.3.0自帶中文分詞包,在 \solr-6.3.0\contrib\analysis-extras\lucene-libs\lucene-analyzers-smartcn-6.3.0.jar,但是不能自定義詞庫
好在我們有IKAnalyzer(已無人更新,目前版本是2012)和pinyin分詞插件。
IKAnalyzer安裝
IKAnalyzer下載地址:https://github.com/EugenePig/ik-analyzer-solr5
因為原始的IKAnalyzer已經不支持solr5以后的版本,這里是修改過后的
用git clone到本地或者直接下載zip到本地,然后執行mvn clean instal(Java8),或者mvn clean -Djavac.src.version=1.7 -Djavac.target.version=1.7 install(jdk1.7)
執行完,在項目 /target 目錄下,看到jar文件
將改jar文件copy到 solr目錄:\solr-6.3.0\server\solr-webapp\webapp\WEB-INF\lib
然后修改core的配置文件:\solr-6.3.0\server\solr\test\conf\managed-schema
添加如下配置:
<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>保存重啟solr,到選擇test核心-Analysis,進入分詞頁面,輸入“冬天到了天氣冷了小明不想上學去了”,FieldType選擇“text_cn”,點擊Analyse Value按鈕:
看到已經分詞中文成功了。
pinyin安裝
pinyin下載地址:http://files.cnblogs.com/files/wander1129/pinyin.zip
?下載后將2個jar文件copy到\solr-6.3.0\server\solr-webapp\webapp\WEB-INF\lib目錄下,
然后修改core的配置文件:\solr-6.3.0\server\solr\test\conf\managed-schema,添加:
<!-- 配置拼音分詞 pinyin--><fieldType name="text_pinyin" class="solr.TextField" positionIncrementGap="0"><analyzer type="index"><tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/><filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" /><filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" /></analyzer><analyzer type="query"><tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/><filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" /><filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" /></analyzer></fieldType>重啟solr
到選擇test核心-Analysis,進入分詞頁面,輸入“冬天到了天氣冷了小明不想上學去了”,FieldType選擇“text_pinyin”,點擊Analyse Value按鈕:
?
看到漢字轉成拼音了。
轉載于:https://www.cnblogs.com/yangzhenlong/p/8254264.html
總結
以上是生活随笔為你收集整理的solr 中文分词器IKAnalyzer和拼音分词器pinyin的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jquery 中后代遍历之childre
- 下一篇: web前端入门必知的10个技术