这个问题搞了很久,在QQ群上问了很久,关键很气人的是我居然被群主给开了。我也是醉了。我不知道我哪里得罪了那个solr群的群主。

废话不多说。抛出的异常如下:

刚开始一直认为是没有找到类,也就相当于没找到jar包。但是我的jar包是放到WEB-INF/lib目录中的。我又认为是IK分词器的版本问题,又去下载了新版本jar包,还是不行。然后看到solrconfig.xml中有配置jar路径的配置,然后各种尝试指定IKAnalyzer2012FF_u1.jar的路径----悲催的还是找不到路径。然后又看到http://aswang.iteye.com/blog/1240718这篇博客,以为是缺少其他jar包,又是各种配置,重启。还是不行。

。。。(好吧,根据经验,一般钻牛角尖是钻不通的。我放弃了。)

闲来无事,复习到spring的aop和ioc,需要理解反射机制,又复习了反射机制。这下理解了为什么会抛出ClassNotFoundExeception呢?

Class<_001_Object_getClass> clazz = (Class<_001_Object_getClass>) Class.forName("priv.lirenhe._001_reflect._001_Object_getClass");//类路径
Constructor<_001_Object_getClass> constructor = clazz.getConstructor(null);//思考参数null
_001_Object_getClass object02 = constructor.newInstance(null);
System.out.println("反射机制调用方法:"+object02.getName());

给构造方法传入参数null。 但是一直抛ClassNotFoundExe?已下载明白了,不仅仅只是类路径错了,或者没有那个jar包导致的找不到类路径,同样也是传入构造方法的参数 不符合要求导致类一直找不到。顿时醒悟,那么在配置中导致类找不到应该就是是配置的参数缺失导致的。

在配置IKAnalyzer的时候,我是参考别人的配置方法,别人的配置运行起来能成功,自己的不行,其实这就是因为版本问题,新版本中肯定修改了某个类,导致仅仅注入org.wltea.analyzer.luceneIKAnalyzer时由于没有传参给相应的构造方法而不成功。

---------给solr注入IKAnalyzer分词器到底具体修改了哪个类,不得而知,望指正。

所以我在schma.xml进行以下配置:

//之前的配置
<fieldType name="text_ik" class="solr.TextField">
          <analyzer  class="org.wltea.analyzer.lucene.IKAnalyze"/>
</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>
<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
<field name="item_price" type="long" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category_name" type="string" indexed="true" stored="true" />
<field name="item_desc" type="text_ik" indexed="true" stored="false" /> <field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_sell_point" dest="item_keywords"/>
<copyField source="item_category_name" dest="item_keywords"/>
<copyField source="item_desc" dest="item_keywords"/>

居然可以了,不再报错了。

接下来就是导入数据了。

转发请注明地址:https://blog.csdn.net/mark_lirenhe/article/details/80570963

本文如有问题,请指正。加我QQ:1017621207

solr配置IKAnalyzer抛出ClassNotFoundException的更多相关文章

  1. Solr配置Ikanalyzer分词器

    上一篇文章讲解在win系统中如何安装solr并创建一个名为test_core的Core,接下为text_core配置Ikanalyzer 分词器 1.打开text_core的instanceDir目录 ...

  2. 为什么全世界都对HTTPS抛出了橄榄枝,HTTPS到底有什么好?HTTPS如何配置?

    整个互联网世界,正从"裸奔"向HTTPS时代转型. 淘宝.天猫在2015年完成规模巨大的数据"迁徙",将百万计的页面从HTTP切换到HTTPS:苹果要求所有iO ...

  3. @Required 注释应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中,否则容器就会抛出一个 BeanInitializationException 异常。

    @Required 注释应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中,否则容器就会抛出一个 BeanInitializationEx ...

  4. shiro配置unauthorizedUrl,无权限抛出无权限异常,但是不跳转

    在使用shiro配置无授权信息的url的时候,发现这样的一个scenario,配置好unauthorizedUrl后仍然无法跳转,然后就在网上开始找,找了原因以及解决方案 原因,先post一个源码: ...

  5. Apache Solr配置

    Solr配置 Solr的主要功能是全文检索,该功能分为两个过程:创建索引和对索引进行搜索: 在创建索引之前,需要重点关注两个配置文件:SOLR_HOME/collection1/conf/schema ...

  6. CAD调试时抛出“正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码”异常的解决方法

    这些天重装了电脑Win10系统,安装了CAD2012和VS2012,准备进行软件开发.在调试程序的时候,CAD没有进入界面就抛出 “正试图在 os 加载程序锁内执行托管代码.不要尝试在 DllMain ...

  7. Spring异常抛出触发事务回滚

    Spring.EJB的声明式事务默认情况下都是在抛出unchecked exception后才会触发事务的回滚 /** * 如果在spring事务配置中不为切入点(如这里的切入点可以定义成test*) ...

  8. DbUtils使用时抛出Cannot get a connection

    java.sql.SQLException: Cannot get a connection, pool error Timeout waiting for idle object Caused by ...

  9. java使用json抛出org.apache.commons.lang.exception.NestableRuntimeException解决方案

    出现这个问题,说明缺少jar包,将下面的jar引入即可 commons-beanutils-1.8.3 commons-lang-2.6 (注:导入最新的 3.1 版本会继续报如下错误) common ...

随机推荐

  1. 进程命令ps/top/kill

    进程: 通俗的说就是 当前正在执行的一个程序 命令: ps 英文: process status 作用: 查看进程的详细状况 选项: a:显示终端上的所有进程,包括其他用户的进程 u:显示进程的详细状 ...

  2. 后台调用前台js方法

    后台调用前台jsClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<s ...

  3. jmeter测试mysql遇到的问题

    1. 1.防火墙未关 错误: Communications link failure The last packet sent successfully to the server was 0 mil ...

  4. PID控制器开发笔记之五:变积分PID控制器的实现

    在普通的PID控制算法中,由于积分系数Ki是常数,所以在整个控制过程中,积分增量是不变的.然而,系统对于积分项的要求是,系统偏差大时,积分作用应该减弱甚至是全无,而在偏差小时,则应该加强.积分系数取大 ...

  5. 基于ARM Cortex-M和Eclipse的SWO单总线输出

    最近在MCU on Eclipse网站上看到Erich Styger所写的一篇有关通过SWD的跟踪接口SWO获取ARM Cortex-M相关信息的文章,文章结构明晰,讲解透彻,本人深受启发,特意将其翻 ...

  6. JS打开新的窗口

    一.使用JS打开新窗口 1. 超链接<a href="http://www.wumz.me" title="Mauger`s Blog">Welco ...

  7. Oracle Ora 错误解决方案合集

    注:本文来源于 < Oracle学习笔记 --- Oracle ORA错误解决方案 > ORA-00001: 违反唯一约束条件 (.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发 ...

  8. ctrl + alt + T无法启动终端

    kill -9 -1重新进入即可

  9. plugin-barcodescanner 报错

    https://github.com/phonegap/phonegap-plugin-barcodescanner/issues/418 ionic cordova platform rm andr ...

  10. nmap 扫描信息收集

    1.端口镜像 port Mirroring 功能通过在交换机上或者路由器上,将一个或者多个源端口的数据流量妆发大奥某一个指定的端口来实现对网络的监听,指定端口成为镜像端口或目的端口. 2.ARP攻击捕 ...