开发者社区> 问答> 正文

基于solr4.1 IK分词 同义词等过滤器的配置?报错

基于solr4.1的配置方面 由于4.1的版本,
“在Solr4.0发布以后,官方取消了BaseTokenizerFactory接口,而直接使用Lucene Analyzer标准接口。因此IK分词器2012 FF版本也取消了org.wltea.analyzer.solr.IKTokenizerFactory类。”

所以 对于IK的配置

  1. <fieldType name="text" class="solr.TextField">  
  2.  <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>  
  3.  </fieldType> 
我想知道 对于新版本的filter 该如何配置。因为 filter 在之前的版本中是嵌套在 工厂配置中。

我开始以为4.1后可直接写 fieldtype 中,发现不可以,我看solr自身的其他分词配置 都是嵌套写法。但是 如

<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer">
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    </analyzer>
    <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer">
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    </analyzer> 

这样写 就会 报错

更改后报 Caused by: org.apache.solr.common.SolrException: Plugin init failure for [schema.xml] fieldType

展开
收起
爱吃鱼的程序员 2020-06-22 21:27:48 454 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
    之前用3.6自定义了个tokenizer,继承了 BaseTokenizerFactory,但是现在没有了,请问你是怎么解决的呢?

    引用来自“hrdxwandg”的答案

    之前用3.6自定义了个tokenizer,继承了 BaseTokenizerFactory,但是现在没有了,请问你是怎么解决的呢?好长时间没上了。嗯,多谢了~你说去 IK的Googlecode看那个issuse里,可我只看到问题,没看到解决方案啊,https://code.google.com/p/ik-analyzer/issues/list是这个里面吗?哪个是啊

    引用来自“刘云川”的答案

    你说去 IK的Googlecode看那个issuse里,可我只看到问题,没看到解决方案啊,https://code.google.com/p/ik-analyzer/issues/list是这个里面吗?哪个是啊回复 @刘云川:公司不让上QQ。。回家的回复 @java_大猫:嗯,我已经解决了,你能加我Q不,285973063,一起学习回复 @刘云川:nutch没用但是你这个应该是配置分词的时候缺少了某个field配置吧嗯,我是按着这个来的,我是与nutch集成,可发生了org.apache.solr.common.SolrException:undefinedfieldtext的异常,请问怎么解决

    @ acmj1991       https://code.google.com/p/ik-analyzer/issues/detail?id=104 

    看这个

    2020-06-22 21:28:04
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载