`

十一、分词器的核心类

 
阅读更多

Analyzer

SimpleAnalyzer、StopAnalyzer、WhitespaceAnalyzer、StandardAnalyzer


public static void displayToken(String str,Analyzer a) {
        try {
            TokenStream stream = a.tokenStream ("content",new StringReader (str));
            //创建一个属性,这个属性会添加流中,随着这个TokenStream增加
            CharTermAttribute cta = stream.addAttribute(CharTermAttribute.class);
            while(stream.incrementToken()) {
                System.out.print("["+cta+"]");
            }
            System.out.println();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


@Test
    public void test01() {
        Analyzer a1 = new StandardAnalyzer(Version.LUCENE_35);
        Analyzer a2 = new StopAnalyzer(Version.LUCENE_35);
        Analyzer a3 = new SimpleAnalyzer(Version.LUCENE_35);
        Analyzer a4 = new WhitespaceAnalyzer(Version.LUCENE_35);
        String txt = "this is my house,I am come from yunnang zhaotong,"
                        + "My email is ynkonghao@gmail.com,My QQ is 64831031";
       
        AnalyzerUtils.displayToken(txt, a1);
        AnalyzerUtils.displayToken(txt, a2);
        AnalyzerUtils.displayToken(txt, a3);
        AnalyzerUtils.displayToken(txt, a4);
    }

输出结果如下:

[my][house][i][am][come][from][yunnang][zhaotong][my][email][ynkonghao][gmail.com][my][qq][64831031]
[my][house][i][am][come][from][yunnang][zhaotong][my][email][ynkonghao][gmail][com][my][qq]
[this][is][my][house][i][am][come][from][yunnang][zhaotong][my][email][is][ynkonghao][gmail][com][my][qq][is]
[this][is][my][house,I][am][come][from][yunnang][zhaotong,My][email][is][ynkonghao@gmail.com,My][QQ][is][64831031]

 

TokenStream

分词器做好处理之后得到的一个流,这个流中存储了分词的各种信息,可以通过TokenStream有效的获取到分词单元信息
TokenStream生成的流程


 

在这个流中所需要存储的数据


Tokenizer

主要负责接收字符流Reader,将Reader进行分词操作。有如下一些实现类


 

TokenFilter :

将分词的语汇单元,进行各种各样过滤


  • 大小: 4 KB
  • 大小: 7.1 KB
  • 大小: 4.2 KB
  • 大小: 5.8 KB
分享到:
评论

相关推荐

    IK中文分词器原理

    IK中文分词器是一种广泛应用于中文文本处理领域的高效工具,其核心功能在于能够精准地识别并切割中文文本中的词汇单元,进而为后续的信息检索、自然语言处理等工作提供基础支持。本文将深入探讨IK分词器的工作原理,...

    IK中文分词器

    在使用IK中文分词器时,用户通常需要将"IK-Analyzer"压缩包解压,然后在相应的搜索引擎配置文件中引入IK的相关配置,如设置分词器类、词典路径等。通过这种方式,搜索引擎就能够使用IK进行中文文本的分词处理。 ...

    ik分词器jar包,以及配置文件

    首先,我们来详细了解一下IK分词器的核心特点: 1. **高性能**:IK分词器采用了高效的正向最大匹配算法(Forward Maximum Matching, FMM)和逆向最大匹配算法(Reverse Maximum Matching, RMM),能够在保证分词...

    IK分词器源码

    首先,IK分词器的核心在于它的分词算法。中文分词是自然语言处理中的基础任务,目的是将连续的汉字序列切分成具有语义意义的词语。IK分词器采用动态多模式、基于字典的分词策略,同时支持用户自定义扩展词库,提高了...

    针对Solr6.6.0的IK分词器

    这些jar文件需要被添加到Solr的类路径中,以便Solr在启动时能够识别和使用IK分词器。 "ext.dic"文件是扩展词典,它包含了一些用户自定义的词语或者专业术语。这些词汇可能不在标准的分词库中,但对特定领域或应用来...

    IKAnalyzer分词器

    1. `IKAnalyzer2012_u6.jar`: 这是IKAnalyzer的核心库文件,包含所有必需的类和方法,用于在项目中实现分词功能。 2. `IKAnalyzer中文分词器V2012_U5使用手册.pdf`: 这是IKAnalyzer的使用手册,提供了详细的文档说明...

    IKAnalyzer中文分词器

    **IKAnalyzer中文分词器详解** IKAnalyzer是一个广泛使用的开源中文分词器,专为Java平台设计,旨在提供一个高效、灵活且可扩展的中文文本分析解决方案。在信息检索、自然语言处理、搜索引擎构建等领域,中文分词是...

    solr5的ik中文分词器源码

    - `src/main/java`:存放核心Java代码,如分词器的实现、词典管理等。 - `src/main/resources`:存放词典文件和其他资源,如字典、配置文件等。 - `src/test`:测试代码,用于验证分词器的功能和性能。 - `pom....

    盘古分词器+lucene .net4.0下编译

    盘古分词器的核心功能在于对中文文本进行精准的分词,它采用基于词典的分词方法,通过大量预设的词汇库进行匹配,同时结合动态编程算法,能够有效处理新词和复杂词汇的识别。其优点在于分词速度快、准确度高,尤其...

    IK 分词器兼容Java

    - **编译与导入**: 使用Maven或Gradle构建项目,生成IK分词器的jar包,然后将其添加到你的Java项目的类路径中。 - **使用示例**: ```java import org.elasticsearch.index.analysis.IKTokenizerFactory; //... ...

    支持 Solr7 的 ik 分词器

    3. **ik-analyzer-solr7x.jar**:这是核心的分词器实现,包含了 ik 分词器的 Solr 7 版本所需的所有类和库。这个 JAR 文件需要被添加到 Solr 的 classpath 中,以便在 Solr 中使用 ik 分词器进行索引和查询。 4. **...

    elasticsearch2.3.1 IK分词器

    安装IK插件时,这个JAR文件会被加载到Elasticsearch的类路径中,使得Elasticsearch能够识别并使用IK分词器。 **依赖库** - **httpclient-4.4.1.jar**:Apache HttpClient库,用于网络通信,Elasticsearch在与其他...

    IK分词器所需文件

    确保这些依赖项正确地添加到Solr的类路径中,是成功运行IK分词器的前提。 除了jar文件,IK分词器还需要相应的配置文件来设定分词参数和定制行为。配置文件通常为XML格式,用户可以通过修改这些文件来开启或关闭特定...

    IK中文分词器详细介绍

    - **org.wltea.analyzer.lucene.IKAnalyzer**: 这是IK分词器的核心类,继承自Lucene的`Analyzer`接口,负责整个分词流程的执行。 - **org.wltea.analyzer.lucene.IKQueryParser**: 提供了用于解析和构建查询语句的...

    IKAnalyzer中文分词器V3.2使用

    首先,你需要从官方源或者第三方资源获取IKAnalyzer3.2.0Stable的压缩包,解压后你会得到包含分词器核心库和配置文件的目录结构。将这些库文件添加到你的项目类路径中,确保程序可以正常加载。 **2. 分词器核心组件...

    solr与IK中文分词器的安装包及配置

    IK分词器通常以JAR包的形式提供,你需要将这个JAR文件添加到Solr的类路径中。这可以通过在`server/solr-webapp/webapp/WEB-INF/lib`目录下放入IK分词器的JAR文件来实现。确保选择的IK分词器版本与Solr版本兼容。 ...

    solr配置IK分词器Jar包和配置文件

    标题中的“solr配置IK分词器Jar包和配置文件”意味着我们需要将IK分词器的相关库文件(Jar包)添加到Solr的类路径中,并且对Solr的配置文件进行适当的修改,以便Solr知道如何使用这个分词器。 首先,你需要下载IK...

Global site tag (gtag.js) - Google Analytics