`

使用Lucene3和IKAnalyzer对一段文本进行分词

    博客分类:
  • java
阅读更多
import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.TermAttribute;
import org.wltea.analyzer.lucene.IKAnalyzer;

/**
 * 对一段文字进行分词
 * @author Administrator
 */
public class IkAnalyzerWord {

  private String resource;
  private List<String> result = new ArrayList<String>();

  public IkAnalyzerWord(String resource) throws IOException {
    this.resource = resource;
    analyzer();
  }

  private void analyzer() throws IOException {
    Analyzer analyzer = new IKAnalyzer();
    TokenStream ts = analyzer.tokenStream("*", new StringReader(resource));
    ts.addAttribute(TermAttribute.class);
    //public <A extends Attribute> A addAttribute(Class<A> attClass)
    //The caller must pass in a Class<? extends Attribute> value.
    //This method first checks if an instance of that class is already in this AttributeSource and returns it.
    //Otherwise a new instance is created, added to this AttributeSource and returned.
    while (ts.incrementToken()) {
      TermAttribute ta = ts.getAttribute(TermAttribute.class);
      //public <A extends Attribute> A getAttribute(Class<A> attClass)
      //The caller must pass in a Class<? extends Attribute> value. 
      //Returns the instance of the passed in Attribute contained in this AttributeSource
      result.add(ta.term());
      //Returns the Token's term text.
    }
  }

  public List<String> getResult() {
    return this.result;
  }

  public static void main(String[] args) throws IOException {
    IkAnalyzerWord ik = new IkAnalyzerWord("今天的大风终于小了,但是又起雾了今天的大风终于小了,但是又起雾了");
    System.out.println(ik.getResult());
  }
}


输出结果(我设置了stopword词典)

[大风, 终于, 小了, 雾, 大风, 终于, 小了, 雾]

分享到:
评论

相关推荐

    lucene5和IKAnalyzer5的jar包 相匹配

    IKAnalyzer5对词典进行了优化,提高了分词速度和准确性,支持动态加载词典,可自定义扩展词典,同时具备智能词组分词和精确模式,兼顾了搜索的准确性和效率。对于中文搜索引擎而言,分词的准确性至关重要,IK...

    lucene第一步---5.中文分词IKAnalyzer和高亮highlighter的使用

    中文分词IKAnalyzer和高亮highlighter的使用”指出,这个主题将探讨如何在Lucene中应用IKAnalyzer进行中文分词,以及如何使用高亮器(highlighter)来突出搜索结果中的关键词。Lucene是Apache软件基金会的一个开放源...

    Lucene的IK Analyzer 3.0 中文分词器 全解

    - 分词器能够准确识别并处理各种文本,例如在一段介绍IK Analyzer的文字中,它能够正确将“IKAnalyzer”拆分为“ik-analyzer”,同时处理日期、版本号等非标准格式的词汇。 - 在处理公司名称时,如“永和服装饰品...

    IKAnalyzer和Lucene分词工具下载地址+使用方法

    IKAnalyzer是一款基于Java语言开发的中文分词工具包,它在Lucene的基础上进行了优化和扩展,特别适用于全文检索和自然语言处理任务。IKAnalyzer提供了强大的中文分词能力,能够有效地识别和处理中文词汇,提高了搜索...

    lucene4.3.0+IK Analyzer2012FF

    - **配置IK Analyzer**:在Lucene项目中,需要将IK Analyzer的jar包添加到类路径,并在配置文件中指定使用IKAnalyzer作为默认的分词器。 - **创建索引**:利用IK Analyzer进行中文文档的分词,然后使用Lucene的...

    IKAnalyzer3.2(稳定版)分词

    IKAnalyzer3.2是中文分词工具的一个稳定版本,它主要设计用于提高中文文本处理的效率和准确性。分词在信息检索、自然语言处理、文本挖掘等领域扮演着至关重要的角色,因为它是理解中文文本基础的第一步。IKAnalyzer...

    lucene增删改查+IKAnalyzer

    3. **Analyzer**:用于对输入文本进行分词,不同的Analyzer适用于不同语言。对于中文,我们需要一个能处理中文词汇的Analyzer。 4. **IndexReader**:用于读取已建立的索引,获取文档信息。 5. **IndexSearcher**:...

    IKanalyzer 分词小测试例子

    IKAnalyzer是一款开源的、基于Java实现的中文分词工具,主要用于对中文文本进行分词处理。它以其高效、灵活的特性,在许多Java开发的搜索引擎和自然语言处理项目中得到广泛应用。这个"IKanalyzer 分词小测试例子...

    IKAnalyzer 分词器支持中文分词多元分词

    IKAnalyzer 是一个专门为中文处理设计的开源分词器,它在中文信息检索、自然语言处理等领域有着广泛的应用。IKAnalyzer 的目标是提供一个轻量级、高性能、易扩展的中文分词解决方案。在这个主题中,我们将深入探讨 ...

    IKAnalyzer.rar

    IKAnalyzer是一款针对中文分词的开源工具,主要应用于搜索引擎或者信息检索系统中,对中文文本进行高效的分词处理。在Lucene这样的全文检索框架中,IKAnalyzer扮演着至关重要的角色,因为它能帮助系统准确地理解并...

    IKAnalyzer中文分词器

    1. 对于一段标准的中文描述,“IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。”,IKAnalyzer能够精准地识别并分割出诸如“ikanalyzer”、“是”、“一个”、“开源”、“的”、“基于”、...

    中文分词库 IKAnalyzer For Lucene 5.2.1(适用Lucene 5.2.1)

    3. **智能词性标注**:IKAnalyzer不仅能进行分词,还能进行词性的标注,这在信息检索和自然语言处理中非常重要,可以提高查询匹配的准确性和理解文本的深度。 4. **动态加载词典**:IKAnalyzer支持在运行时动态加载...

    IKAnalyzer中文分词器 jar包 + 使用文档 + 配置文件 + doc

    IKAnalyzer是一款针对中文处理的开源分词工具,广泛应用于搜索引擎、信息检索系统、文本挖掘等领域。它是基于Java语言开发的,能够很好地与Lucene、Solr等全文检索框架集成,提供高效的中文分词能力。 首先,我们要...

    lucene+中文IK分词器 例子

    然后,使用Lucene的`Analyzer`接口创建一个IK分词器实例,将网页内容传递给分词器进行分词。接着,使用Lucene的`IndexWriter`将分词后的文档写入索引。 4. **查询索引** 当用户输入关键词时,使用同样的IK分词器...

    IKAnalyzer中文分词器V3.1.1使用手册

    - 该示例展示了IKAnalyzer如何将一段中文文本进行精确分词,包括对复合词汇的识别和分割。 - **示例2**:“永和服装饰品有限公司” - 分词结果:永和|和服|服装|装饰品|装饰|饰品|有限|公司 - 这个例子说明了IK...

    IKAnalyzer中文分词好帮手

    ### IKAnalyzer中文分词好...以上示例展示了如何创建`IKAnalyzer`实例,以及如何使用它对一段文本进行分词并输出结果。通过这种方式,开发者可以轻松地将IKAnalyzer集成到自己的应用程序中,实现高效的中文分词功能。

    ik分词器2012和lucene的资源和jar包以及lucene索引查看工具

    IK分词器(Intelligent Chinese Analyzer for Lucene)是一款针对中文的开源分词工具,适用于Lucene和Solr等全文检索引擎。它具有高性能、高准确率的特点,支持自定义扩展词典,可以灵活应对各种业务场景。2012版的...

    ikanalyzer 词频计算

    在“ikanalyzer 词频计算”这个主题中,我们关注的是如何利用ikanalyzer来统计一段文本中各个词语出现的频率。词频计算是自然语言处理(NLP)中的基础任务,有助于理解文本的主要内容和主题。ikanalyzer通过高效的...

    IKAnalyzer6.5.0支持lucene6.0x.zip

    3. **创建索引**:使用配置好的IKAnalyzer对文档进行分词,并构建Lucene的索引。 4. **搜索**:在查询时,同样使用IKAnalyzer进行分词,然后匹配索引中的内容,返回相关结果。 总的来说,IKAnalyzer6.5.0是Java...

    Luence+Ikanalyzer+stopword+dic

    Ikanalyzer是专门为中文处理设计的一个分词器,而stopword+dic则涉及到如何定制和使用自定义的停用词表。 首先,我们来谈谈Ikanalyzer。Ikanalyzer是基于IK Analyzer开源项目的一个分词器,专门针对中文进行分词...

Global site tag (gtag.js) - Google Analytics