1. 程式人生 > >solr配置中文分詞遇到的問題

solr配置中文分詞遇到的問題

嚴重: Servlet.service() for servlet [default] in context with path [/solr] threw exception [Filter execution threw an exception] with root cause
java.lang.VerifyError: class org.wltea.analyzer.lucene.IKAnalyzer overrides final method tokenStream.(Ljava/lang/String;Ljava/io/Reader;)Lorg/apache/lucene/analysis/TokenStream;
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:3125)
at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:1341)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1827)
at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:789)
at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:789)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:474)
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:421)
at org.apache.solr.schema.FieldTypePluginLoader.readAnalyzer(FieldTypePluginLoader.java:263)
at org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:95)
at org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:43)
at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:151)
at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:486)
at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:166)
at org.apache.solr.schema.IndexSchemaFactory.create(IndexSchemaFactory.java:55)
at org.apache.solr.schema.IndexSchemaFactory.buildIndexSchema(IndexSchemaFactory.java:69)
at org.apache.solr.core.ConfigSetService.createIndexSchema(ConfigSetService.java:90)
at org.apache.solr.core.ConfigSetService.getConfig(ConfigSetService.java:62)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:489)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:466)
at org.apache.solr.handler.admin.CoreAdminHandler.handleCreateAction(CoreAdminHandler.java:575)
at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestInternal(CoreAdminHandler.java:199)
at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:188)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
at org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:729)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:258)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2517)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2506)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:744)

遇到這個問題,網上有說是solr與ik衝突的原因導致的,但是自己換了多個不同版本的ik還是一樣,要麼就是沒有載入不了solr例項

最終參考網上的ik配置,搞明白了,原來是自己ik的配置配的太簡單了導致衝突

原來的配置如下:

<!-- IKAnalyzer-->

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

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

    </fieldType>

這樣配置咋看沒有問題,但是配的太粗糙,在版本要求下,會有問題

最終如此配置:

<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
 </fieldType>

相關推薦

Solr 配置中文器 IK

host dex text class get mar con png 網址 1. 下載或者編譯 IK 分詞器的 jar 包文件,然後放入 ...\apache-tomcat-8.5.16\webapps\solr\WEB-INF\lib\ 這個 lib 文件目錄下;  

solr配置中文

Solr的中文分詞器 中文分詞在solr裡面是沒有預設開啟的,需要我們自己配置一箇中文分詞器。 目前可用的分詞器有smartcn,IK,Jeasy,庖丁。其實主要是兩種,一種是基於中科院ICTCLA

solr配置中文遇到的問題

嚴重: Servlet.service() for servlet [default] in context with path [/solr] threw exception [Filter execution threw an exception] with root

Solr配置中文器IK Analyzer詳解

歡迎掃碼加入Java高知群交流 配置的過程中出現了一些小問題,一下將詳細講下IK Analyzer的配置過程,配置非常的簡單,但是首先主要你的Solr版本是哪個,如果是3.x版本的用IKAnalyzer2012_u6.zip如果是4.x版本的用IK Analyzer 20

二、Solr配置中文器IKAnalyzer並配置業務域

一、solr域的介紹 在solr中域的概念與lucene中域的概念相同,資料庫的一條記錄或者一個檔案的資訊就是一個document,資料庫記錄的欄位或者檔案的某個屬性就是一個Field域,solr中對索引的檢索也是對Field的操作。lucene中對域的操作是通過程式碼,solr對域的管理是通過一個配置檔案

Solr-4.10 配置中文器(IKAnalyzer)

1、下載IKAnalyzer   http://pan.baidu.com/s/1i3eXhAH    密碼:34w6 2、將ik的相關檔案 拷貝到 webapps\solr\WEB-INF\lib 目錄下  3、引入相應詞典配置放到&

Solr學習總結 IK 配置中文

  預設solr沒有使用中文分詞器 所有搜尋的詞都是整個句子是一個詞 需要配置中文分詞器目前比較好用的是IK 但2012就停更了 只支援到Lucene4.7所有solr5.5需要Lucene5支援需要修改部分原始碼來支援solr5.5找到IKAnalyze類  <dep

Solr-6.5.1配置中文器smartcn

solr的同步發行包smartcn可進行中文切詞,smartcn的分詞準確率不錯,但就是不能自己定義新的詞庫,不過smartcn是跟solr同步的,所以不需要額外的下載,只需在solr的例子中拷貝進去即可。 第一步: 找到如下目錄,複製中文分詞器jar到so

solr 6.5 配置中文 IK Analyzer

將解分詞資料裡的 ik-analyzer-solr5-5.x.jar 拷貝到 /Users/sun/Documents/solr-6.5.1/server/solr-webapp/webapp/WEB-INF/lib 目錄中去,將IKAnalyzer.cfg.xml、mydict.dic、stopword.d

Solr配置中文

1、使用solr自帶分詞器 1.1、拷貝Jar包 cp /opt/solr/solr-7.3.1/contrib/analysis-extras/lucene-libs/lucene-ana

Solr 5.0.0配置中文器IK Analyzer

Solr版本和IK分詞版本一定對應 (ps我版本沒對應好弄了快倆小時了) 只適合Solr 5.0.0版本 1.下載IK分詞器包 連結: https://pan.baidu.com/s/1hrXovly 密碼: 7yhs 2.解壓並把IKAnalyzer-5.0.jar 、solr-analyzer-extra

Solr 7.2.1 配置中文器 IK Analyzer

一、什麼是中文分詞器? 為什麼不來個英文分詞器呢? “嘿,小夥子,就是你,說的就是你,你那麼有才咋不上天呢!” 首先我們來拽一句英文:“He is my favorite NBA star”

solr中文器的安裝配置

準備環境: solr版本:Solr4.10.3 jdk:1.8 Tomcat:apache-tomcat-7.0.59 一、solr和tomcat整合使用: 1.solr和tomcat整合 1、將Solr4.10.3 壓縮包內的dist目錄下的solr-4.10.3.w

solr服務快速搭建、配置中文、資料匯入即solrj增刪改查

一.準備工作 1. 環境準備: 1.1 centos 6.5/mac os 10.12.6 2. 假定一個需求:現在需要索引商品資訊,以支撐前臺商品展示頁面的搜尋。 資料庫中的表有商品分類表和商品詳情表 -- 商品表: D

solrcloud配置中文器ik

lte config server field per str load fonts textfield 無論是solr還是luncene,都對中文分詞不太好,所以我們一般索引中文的話需要使用ik中文分詞器。 三臺機器(192.168.1.236,192.168.1.237

ElasticSearch搜索引擎安裝配置中文器IK插件

art linux系統 nal smart 分享 內容 分詞 search dcl 一、IK簡介 ElasticSearch(以下簡稱ES)默認的分詞器是標準分詞器Standard,如果直接使用在處理中文內容的搜索時,中文詞語被分成了一個一個的漢字,因此引入中文分詞器IK就

solr配置IK器報錯

new_core: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: JVM Error creating core [new_core]: class org.wltea.analy

Solr6配置中文庫mmseg4j

摘要: Solr有諸多分詞器,本文介紹Solr6與中文分詞庫mmseg4j的整合,在此之前,你需要有一個可以執行Solr的環境,參見Solr6.0與Jetty、Tomcat在Win環境下搭建/部署。 準備環境 mmseg4j需要mmseg4j-

Solr6.5配置中文IKAnalyzer和拼音pinyinAnalyzer (二)

 之前在 Solr6.5在Centos6上的安裝與配置 (一) 一文中介紹了solr6.5的安裝。這篇文章主要介紹建立Solr的Core並配置中文IKAnalyzer分詞和拼音檢索。 一、建立Core: 1、首先在solrhome(solrhome的路徑和配置見Solr6.5在Centos6上的安裝與配置

Solr6.0.1配置中文器mmseg4j

1、下載mmseg4j包和所需dic檔案 2、配置mmseg4j中文分詞器 在solrhome中建立dic資料夾,並將dic欄位檔案複製進去 將mmseg4j-core-1.10.0.jar和mmseg4j-solr-2.3.0.jar放到