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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

给solr配置中文分词器

發(fā)布時(shí)間:2025/3/20 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 给solr配置中文分词器 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Solr的中文分詞器

  • 中文分詞在solr里面是沒有默認(rèn)開啟的,需要我們自己配置一個(gè)中文分詞器。
  • 目前可用的分詞器有smartcn,IK,Jeasy,庖丁。其實(shí)主要是兩種,一種是基于中科院ICTCLAS的隱式馬爾科夫HMM算法的中文分詞器,如smartcn,ictclas4j,優(yōu)點(diǎn)是分詞準(zhǔn)確度高,缺點(diǎn)是不能使用用戶自定義詞庫(kù);另一種是基于最大匹配的分詞器,如IK ,Jeasy,庖丁,優(yōu)點(diǎn)是可以自定義詞庫(kù),增加新詞,缺點(diǎn)是分出來(lái)的垃圾詞較多。各有優(yōu)缺點(diǎn)。
  • 面給出兩種分詞器的安裝方法,任選其一即可,推薦第一種,因?yàn)閟martcn就在solr發(fā)行包的contrib/analysis-extras/lucene-libs/下,就是lucene-analyzers-smartcn-4.2.0.jar,首選在solrconfig.xml中加一句引用analysis-extras的配置,這樣我們自己加入的分詞器才會(huì)引到的solr中。
  • smartcn 分詞器的安裝

    1.首選將發(fā)行包的contrib/analysis-extras/lucene-libs/ lucene-analyzers-smartcn-4.2.0.jar復(fù)制到\solr\contrib\analysis-extras\lib下,在solr_home文件夾下 2.打開/ims_advertiesr_core/conf/scheme.xml,編輯text字段類型如下,添加以下代碼到scheme.xml中的相應(yīng)位置,就是找到fieldType定義的那一段,在下面多添加這一段就好啦 <fieldType name="text_smartcn" class="solr.TextField" positionIncrementGap="0"><analyzer type="index"><tokenizer class="org.apache.lucene.analysis.cn.smart.SmartChineseSentenceTokenizerFactory"/><filter class="org.apache.lucene.analysis.cn.smart.SmartChineseWordTokenFilterFactory"/></analyzer><analyzer type="query"><tokenizer class="org.apache.lucene.analysis.cn.smart.SmartChineseSentenceTokenizerFactory"/><filter class="org.apache.lucene.analysis.cn.smart.SmartChineseWordTokenFilterFactory"/></analyzer> </fieldType> 如果需要檢索某個(gè)字段,還需要在scheme.xml下面的field中,添加指定的字段,用text_ smartcn作為type的名字,來(lái)完成中文分詞。如 text要實(shí)現(xiàn)中文檢索的話,就要做如下的配置: <field name ="text" type ="text_smartcn" indexed ="true" stored ="false" multiValued ="true"/>

    IK 分詞器的安裝

    IKAnalyzer2012FF_u1.jar //分詞器jar包 IKAnalyzer.cfg.xml //分詞器配置文件 stopword.dic //分詞器停詞字典,可自定義添加內(nèi)容
  • 將IKAnalyzer2012FF_u1.jar 加入C:\apache-tomcat-7.0.57\webapps\solr\WEB-INF\lib中。
  • 在C:\apache-tomcat-7.0.57\webapps\solr\WEB-INF下新建classes文件夾,將IKAnalyzer.cfg.xml、keyword.dic、stopword.dic加入classes里。
  • 然后就可以像smartcn一樣進(jìn)行配置scheme.xml了
  • <!-- 配置IK分詞器start --><fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100"><analyzer type="index"><tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" isMaxWordLength="false"/><filter class="solr.LowerCaseFilterFactory"/></analyzer><analyzer type="query"><tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" isMaxWordLength="false"/><filter class="solr.LowerCaseFilterFactory"/></analyzer> </fieldType>

    中文分詞器mmseg4j

    mmseg4j-solr-2.3.0支持solr5.3
    1.將兩個(gè)jar包考入tomcat中solr項(xiàng)目里的lib文件內(nèi)

    2.配置solr_home中的schema.xml
    在下面標(biāo)簽

    <fieldType name="currency" class="solr.CurrencyField" precisionStep="8" defaultCurrency="USD" currencyConfig="currency.xml" /></fieldType>

    里新增:

    <fieldtype name="textComplex" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/> </analyzer> </fieldtype> <fieldtype name="textMaxWord" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" /> </analyzer> </fieldtype><fieldtype name="textSimple" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="n:/custom/path/to/my_dic" /> </analyzer> </fieldtype>

    重啟tomcat測(cè)試分詞

    在schema.xml里定義:

    <field name="content_test" type="textMaxWord" indexed="true" stored="true" multiValued="true"/>

    然后測(cè)試:

    總結(jié)

    以上是生活随笔為你收集整理的给solr配置中文分词器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。