`
picksun
  • 浏览: 10553 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

solr的问题 CharFilterFactory

 
阅读更多

http://www.oschina.net/question/207854_149984

只要使用了CharFilterFactory,如 HTMLStripCharFilterFactory,则会出现不分词的情况

 

在AnalysisRequestHandlerBase 下面有这段代码

   NamedList<Object> namedList = new NamedList<Object>();

 

    if( cfiltfacs != null ){

      String source = value;

      for(CharFilterFactory cfiltfac : cfiltfacs ){

        Reader reader = new StringReader(source);

        reader = cfiltfac.create(reader);

        source = writeCharStream(namedList, reader);

      }

    }

 

改为

 NamedList<Object> namedListfilter = new NamedList<Object>();

 

    if( cfiltfacs != null ){

      String source = value;

      for(CharFilterFactory cfiltfac : cfiltfacs ){

        Reader reader = new StringReader(source);

        reader = cfiltfac.create(reader);

        //source = getCharStream(reader);//picksun

        source = writeCharStream(namedListfilter, reader);

      }

      value=source;//picksun

    }

 

    NamedList<Object> namedList = new NamedList<Object>();//picksun

 

把value转换为过滤后的新的值,才能在下一步中进行分词;

而且把CharFilterFactory过滤的内容放在NamedList的最前,

会导致分词的结果无法得到。

 

至于namedList的内容 要不要add到 namedListfilter ,悉听尊便。

 

这应该是solr的一个bug。

遗憾的是这个问题,我发现在solr 3.6.2的版本也有,看来是老问题了。

不知道是否大家都不用CharFilterFactory,才没有发现这个错误。

分享到:
评论

相关推荐

    解决solr启动404问题

    总之,解决Solr启动404问题需要检查多个方面,包括但不限于Java环境、`solrhome`配置、核心配置文件、端口设置以及可能的容器化部署问题。仔细排查并按照上述步骤操作,通常都能找出问题所在并修复。如果问题持续...

    solr问题及解决

    ### Solr问题及解决方案 #### 一、Solr服务器配置问题与解决方法 **问题描述:** 当使用JavaBean向Solr服务器提交数据时,如果Solr服务器上的配置字段(Field)与JavaBean中的字段不匹配,则Solr服务器无法识别...

    solr资料以及问题汇总

    这个压缩包包含了一系列与Solr相关的资料和问题解决方案,对于开发者来说是一份宝贵的资源集合。 首先,"eContact+V3.5(3.5.7.4Q1)Solr檢索附件需求分析書V1.0-ZhaoHaiming20100415.docx"文件可能是关于一个特定...

    Apache Solr(solr-8.11.1.zip)

    Apache Solr是一款开源的企业级搜索平台,由Apache软件基金会维护。它是基于Java的,提供了高效、可扩展的全文检索、数据分析和分布式搜索功能。Solr-8.11.1是该软件的一个特定版本,包含了从早期版本到8.11.1的所有...

    solr(solr-9.0.0.tgz)

    Solr,全称为Apache Solr,是Apache软件基金会的一个开源项目,主要用来处理全文搜索和企业级的搜索应用。它基于Java,利用Lucene库构建,提供了高效、可扩展的搜索和导航功能。Solr-9.0.0是该软件的最新版本,此...

    Apache Solr(solr-8.11.1.tgz)

    Apache Solr 是一个开源的全文搜索引擎,由Apache软件基金会维护,是Lucene项目的一部分。它提供了高效、可扩展的搜索和导航功能,广泛应用于企业级的搜索应用中。Solr-8.11.1是该软件的一个特定版本,包含了最新的...

    solr4.7服务搭建

    ### Solr 4.7 服务搭建详细指南 #### 一、环境准备 为了搭建 Solr 4.7 服务,我们需要确保以下环境已经准备好: 1. **Java Development Kit (JDK) 1.7**:Solr 需要 Java 运行环境支持,这里我们选择 JDK 1.7 ...

    ikanalyzer-solr8.4.0_solr8_solr_ikanalyzer_中文分词_

    Solr8.4.0 是 Apache Solr 的一个版本,这是一个高度可配置、高性能的全文搜索和分析引擎,广泛用于构建企业级搜索应用。 在 Solr 中,ikanalyzer 是一个重要的组件,它通过自定义Analyzer来实现中文的分词处理。...

    solr(solr-9.0.0-src.tgz)源码

    Solr是Apache软件基金会的一个开源项目,它是基于Java的全文搜索服务器,被广泛应用于企业级搜索引擎的构建。源码分析是深入理解一个软件系统工作原理的重要途径,对于Solr这样的复杂系统尤其如此。这里我们将围绕...

    solr-6.2.0源码

    Solr是Apache软件基金会开发的一款开源全文搜索引擎,它基于Java平台,是Lucene的一个扩展,提供了更为方便和强大的搜索功能。在Solr 6.2.0版本中,这个强大的分布式搜索引擎引入了许多新特性和改进,使其在处理大...

    solr.war包solr.war包solr.war包solr.war包solr.war包

    solr.warsolr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包...

    solr增量更新架包apache-solr-dataimportscheduler.jar

    Apache Solr 是一个开源的全文搜索引擎,广泛应用于各种企业级数据搜索和分析场景。增量更新是Solr的一个关键特性,它允许系统仅处理自上次完整索引以来发生更改的数据,从而提高了性能并降低了资源消耗。"apache-...

    solr-7.4.0.zip

    Solr,全称为Apache Solr,是一款开源的企业级全文搜索引擎,由Apache软件基金会开发并维护。它是基于Java的,因此在使用Solr之前,确保你的系统已经安装了Java 8或更高版本是至关重要的。标题"solr-7.4.0.zip"表明...

    solr-dataimport-scheduler.jar 可使用于solr7.x版本

    Solr 数据导入调度器(solr-dataimport-scheduler.jar)是一个专门为Apache Solr 7.x版本设计的组件,用于实现数据的定期索引更新。在理解这个知识点之前,我们需要先了解Solr的基本概念以及数据导入处理...

    solr的学习

    ### Solr 学习知识点详解 #### 一、Solr 概述 - **定义**:Solr 是 Apache 下的一个顶级开源项目,采用 Java 开发,它是基于 Lucene 的全文搜索服务器。Solr 可以独立运行在 Jetty、Tomcat 等 Servlet 容器中。 -...

    Linux上Solr的启动方式

    使用Solr内置的Jetty服务器启动Solr (1)借助X Shell上传solr的安装包到/usr/local/目录下,使用 tar -zxvf命令进行解压.  (2)使用内置的Jetty来启动Solr服务器只需要在example目录下,执行start.jar程序即可,...

    ambari离线安装solr所需文件

    该博客可能提供了详细的指导,包括如何处理依赖、解决可能出现的问题以及优化安装过程。 总之,离线安装Solr在Ambari中是一项涉及多步操作的任务,需要对Ambari的架构和服务管理有深入理解,同时也需要对Solr的基本...

    solr服务器_solr_

    Solr服务器是Apache Lucene项目的一个子项目,是一款开源的企业级搜索平台,专门用于处理大量文本数据的全文检索、搜索和分析。它基于Java开发,能够处理多种数据源,包括XML、JSON、CSV等,提供了高效、可扩展的...

    支持solr5.5 solr6.0中IK分词需要的资料

    - **版本兼容性**:确保IK分词器的版本与Solr版本匹配,避免出现不兼容的问题。 - **性能调优**:根据实际数据量和查询需求调整 IK 分词器的配置参数,如缓存大小、最大扩展词长度等。 - **分词结果的精度**:观察并...

    solr定时自动同步数据库需要用到的apache-solr-dataimportscheduler.jar包

    Apache Solr是一款强大的开源搜索引擎,它能够高效地处理和索引大量数据,提供快速的全文检索、 faceting、高亮显示等高级功能。在实际应用中,为了保持搜索结果的实时性,我们往往需要将数据库中的数据实时或定时...

Global site tag (gtag.js) - Google Analytics