`
kobe学java
  • 浏览: 258391 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Solr 分词器(analyzer)是怎么传到Luence的

 
阅读更多

 

Solr 分词器(analyzer)是怎么传到Luence的

 (2011-11-02 17:41:48)
标签: 

solr

 

分词器

 

luence

 

it

分类: 架构与开发
Solr的分词器我们都知道,是配置在schema.xml配置文件中,不同的fieldType我们都可以给他配置分词器。Solr有两个地方分别是创建索引(INDEX)和查询(query),通过Solr的源码如下:
          
          if (queryAnalyzer==null) queryAnalyzer=analyzer;
          if (analyzer==null) analyzer=queryAnalyzer;
          if (analyzer!=null) {
            ft.setAnalyzer(analyzer);
            ft.setQueryAnalyzer(queryAnalyzer);
          }
   queryAnalyzer 为查询时用到的分词器,    analyzer为建索引时用到的分词器。从上面可以看出,如果我们没有配查询的分词  器,则用创建的分词器,同理,如果创建时的分词器为空,则用查询的分词器。如果两个都为空,就是没有分词器了。
注意,这里的analyzer和queryAnalyzer 都是TokenizerChain,里面包含了一个分词器的链。

主要问题是,Solr是在什么时候用到这些分词器的呢,通过调试,发现,Solr是在DirectUpdateHandler2的addDoc(AddUpdateCommand cmd)方法里面的两行代码如下:
 synchronized (this) {
        // adding document -- prep writer
        openWriter();
        tracker.addedDocument( cmd.commitWithin );
} // end
addDoc方法是我们新建索引时调用的。openWriter是打开indexWriter,这里会判断indexWriter是否为空,如果为空则会创建一个createMainIndexWriter实例,代码如下:
if (writer==null) {
      writer = createMainIndexWriter("DirectUpdateHandler2", false);  //这里就是new一个SolrIndexWriter实例
 }
createMainIndexWriter方法就是new一个SolrIndexWriter实例,会传一个schema给SolrIndexWriter通过构造函数。
SolrIndexWriter继承luence的IndexWriter,创建indexWriter时会把schema的analyzer传给IndexWriterConfig。
这样luence的indexWriter就分词器就保存在IndexWriterConfig上。

 

分享到:
评论

相关推荐

    solr分词器资源 solr-ikanalyzer 资源包

    solr-ik分词器的资源包,包括:ext.dic;ikanalyzer.cfg.xml;ik-analyzer-solr5-5.x.jar;solr-analyzer-ik-5.1.0.jar;stopword.dic 五个文件

    solr分词 IKAnalyzer2012FF_hf1.rar

    "solr分词 IKAnalyzer2012FF_hf1.rar" 包含的是一个针对Solr优化的IK分词器版本,即IKAnalyzer2012FF_hf1。这个版本在原版IKAnalyzer的基础上进行了改进,提高了对中文词汇的处理能力,特别是对于复杂语境和新词识别...

    solr分词器

    Solr分词器是Apache Solr搜索引擎中的一个重要组件,它负责对输入的文本进行分词处理,以便于索引和查询。在理解Solr分词器之前,我们首先要明白Solr是一个开源的企业级搜索平台,它提供了高效、可扩展的全文检索、...

    k-analyzer-solr solr分词器

    Solr分词器是搜索引擎Apache Solr中的一个重要组件,它负责对输入的文本进行分析,将其拆分成可索引的基本单元——词语。"k-analyzer-solr" 是一个特定的分词器实现,用于优化Solr的文本处理流程。在Solr中,分词器...

    solr分词器IKAnalyzer

    Solr中的IKAnalyzer分词器是处理中文文本的关键组件,它能有效提升搜索质量和效率。通过对`schema.xml`的配置,我们可以定制化分词策略,以满足具体业务的需求。IKAnalyzer 2012FF_hf1版本的出现,旨在提供更快更...

    solr中文分词jar包ik-analyzer 含class配置 ik-analyzer-7.5.0

    1. **下载与解压**:获取ik-analyzer-7.5.0.jar文件,解压缩后将jar包放入Solr的lib目录下,确保Solr运行时能加载到该分词器。 2. **配置Solr schema.xml**:在Solr的schema.xml文件中,定义字段类型(fieldType),...

    ikanalyzer-solr8.4.0_solr8_solr_ikanalyzer_中文分词_

    ikanalyzer 是一个专门为Java开发的中文分词器,它基于 Lucene 库,适用于各种文本处理和搜索引擎场景。在 Solr 环境中,ikanalyzer 的作用是为中文文档提供精确的分词服务,从而提升搜索质量和效率。Solr8.4.0 是 ...

    solr分词器使用手册

    ### Solr分词器使用手册知识点详解 #### 一、Solr概述 - **定义**:Solr是一款基于Java开发的、由Apache基金会维护的顶级开源项目,它是一款高性能的全文检索服务器。Solr不仅继承了Lucene的核心索引与搜索能力,还...

    solr分词器-ik-analyzer.7.4.0.jar

    solr分词器,solr分词器-ik-analyzer.7.4.0.jar7.4.0版本

    solr ik分词器

    Solr是中国最流行的开源搜索引擎平台之一,而IK Analyzer是一款针对中文的高性能分词器,尤其在处理现代汉语的复杂情况时表现出色。本教程将详细解释如何在Solr中安装和使用IK分词器。 首先,让我们理解一下什么是...

    ik-analyzer-solr7.zip

    对于处理中文文档,一个合适的中文分词器是必不可少的,IKAnalyzer就是这样一个解决方案。 IKAnalyzer在Solr中的集成使得用户可以方便地在Solr中使用它进行中文文本的预处理,包括分词、去停用词等步骤,这对于提高...

    自定义Solr分词器

    自定义的Solr 分词器,可以通过竖线"|"来分词,可以在博客http://blog.csdn.net/jiangchao858/article/details/68954044看到生成过程与使用步骤。

    solr中文分词器

    Solr中文分词器是Apache Solr搜索引擎系统中用于处理中文文本的核心组件,它使得Solr能够对中文文档进行有效的索引和搜索。在Solr中,分词器(Tokenizer)是分析器(Analyzer)的一部分,负责将输入的文本拆分成可被...

    IKAnalyzer2012FF_u1 ik solr分词器

    在Solr中,分词器是搜索引擎索引和查询过程中的关键组件。IK Analyzer与Solr结合使用,可以对输入的中文文本进行精确、高效的分词,从而提升搜索质量和速度。 4. **IKAnalyzer2012FF_u1特性**: - 支持用户自定义...

    solr+IK Analyzer

    Solr和IK Analyzer是两个在中文分词和全文检索领域常用的工具。Solr是一个开源的搜索服务器,由Apache Lucene项目提供支持,它允许开发者构建和维护高度可扩展的、高性能的搜索应用。而IK Analyzer是一款针对中文的...

    solr 分词器 mmseg4j IKAnalyzer

    在 Solr 中,分词器(Tokenizer)和分析器(Analyzer)是构建高效搜索索引的关键组件。分词器将输入的文本拆分成一系列的词语,而分析器则包括了分词器和其他过滤器,如去停用词、词形还原等,以优化搜索效果。 ...

    solr6的中文分词器ik-analyzer-solr-6.0.jar

    solr6的中文分词器ik-analyzer-solr-6.0.jar,在solr上亲测可用

    solr 中文分词其IKAnalyzer 支持solr版本5.X-7.X

    描述中提到的"solr中文分词器 IKAnalyzer 支持solr版本5.x到7.x 亲测可用,我用的是7.2版本"进一步证实了IKAnalyzer在Solr 7.2版本中的实际应用,这为其他用户提供了信心,确保了在不同Solr版本下的稳定运行。...

    IK分词器_ikanalyzer-solr5

    同时,还需要将ikanalyzer-solr5的jar包添加到Solr的lib目录下,确保在启动Solr时能够正确加载分词器的类库。 为了进一步优化IK分词器的性能,我们可以考虑以下几点: 1. 调整词典:根据业务需求定制词典,增加专业...

Global site tag (gtag.js) - Google Analytics