`
strayly
  • 浏览: 97416 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

lucene简单词典分词

 
阅读更多

其实要实现自己的分词并不是很困难。

要实现Token的next()方法,要实现比较好的分词就需要在这里进行复杂的处理,不过我的需求比较简单,

所以只在这判断一下是否有词库中对应的词。

private final Token getToken(String w,int p){
  Token token = new Token(w,p,w.length());
  return token;
 }
 public final Token next() throws IOException{
    ArrayList list = WordTreeFactory.getInstance();//初始化词库
    for(int i=curI;i<list.size();i++){
     curI = i;
     String w = (String) list.get(i);
     //if(s.indexOf(w)!=-1){
      for(int j = curJ;  j< s.length(); j++) {
         //curJ = j+1;
            int at = s.indexOf(w,j);
            if(at<0){
             curJ = 0;
             break;
            }
            else{
             curJ = at+1;

             return getToken(w,at);
            }
            //w = null;
            //i = at;
         }
     //}
     curI = i+1;
    
    }
    return null;
 }

 

Token实现完后就是实现Analyzer的tokenStream方法

public class SampleAnalyzer extends Analyzer {

    public SampleAnalyzer() {
    }

    public final TokenStream tokenStream(String fieldName, Reader reader) {
      TokenStream result = new ThesaurusTokenizer(reader);
         return result;
    }
}

一个最简单的分词就弄好了。

分享到:
评论

相关推荐

    lucene.NET 中文分词

    **Lucene.NET 中文分词技术详解** Lucene.NET 是一个高性能、全文检索库,它是Apache Lucene项目在.NET平台上的实现。作为一个开源的搜索引擎框架,Lucene.NET为开发者提供了强大的文本搜索功能。而在处理中文文档...

    支持lucene的词典机械中文分词

    《支持Lucene的词典机械中文分词技术详解》 在信息技术领域,中文分词是自然语言处理(NLP)中的关键步骤,它涉及到将连续的汉字序列切分成具有独立语义的词汇单元,这对于信息检索、文本分析、机器翻译等任务至关...

    lucene6.6+拼音分词+ik中文分词包

    本文将详细讲解如何在Lucene 6.6版本中结合拼音分词和IK中文分词,以及如何利用自定义词典和停用词表提升分词效率。 首先,我们来了解核心组件——Lucene 6.6。这个版本的Lucene引入了多项改进,包括更快的搜索速度...

    Lucene4.0 IK分词器使用pdf

    其最初设计旨在配合Lucene项目,通过融合词典分词和语法分析算法来提高中文文本的检索效率。至3.0版本,IKAnalyzer转型为独立于Lucene的通用Java分词组件,同时保持了对Lucene的优化支持。 #### 版本亮点:IK...

    Lucene.net 盘古分词C#

    2. **自定义词典**:盘古分词支持用户自定义词典,可以根据具体业务需求增加或修改分词结果。 3. **歧义消除**:中文分词常有歧义问题,盘古分词通过上下文信息和统计模型来尽可能减少错误的分词结果。 4. **速度和...

    lucene2.0与其分词工具包

    "je-analysis"可能是一个早期的中文分析器,用于对中文文本进行预处理,包括词典匹配、分词、去除停用词等步骤,以便于Lucene理解并处理中文内容。这在处理大量中文文档时尤其关键,因为中文没有明显的词边界,传统...

    Lucene与中文分词技术的研究及应用

    - **IK分词**:针对Lucene和Solr设计的一款中文分词插件,支持词性标注和自定义词典。 - **THULAC**:清华大学开发的一个中文分词和词性标注工具包。 在实际应用中,可以通过以下步骤实现中文分词器与Lucene的集成...

    lucene3.5中文分词案例

    2. 中文分词算法:Lucene 3.5默认使用了IK Analyzer(智能中文分析器),这是一种基于词典的分词方法,通过构建词典并结合正向最大匹配和逆向最大匹配算法,能够有效地对中文文本进行分词。此外,还有如HanLP、jieba...

    lucene.net中文分词器

    该算法简单高效,适用于大部分中文文本处理场景,但在处理歧义和未登录词(即词典中未包含的词)时可能会有所不足。 在这个分词器中,首先需要建立一个包含常用词汇的词典,这是分词器的基础。词典通常包括大量常用...

    基于Lucene的中文分词方法设计与实现

    其中,正向最大匹配法是一种常用的分词方法,其基本思路是从左向右取待分词串的最大长度作为匹配长度,然后查找词典,若存在,则匹配成功;否则减少一个字长后继续查找,直到找到为止。 #### 三、基于Lucene的中文...

    .Net Lucene+盘古分词站内搜索

    《.Net Lucene+盘古分词:打造高效站内搜索解决方案》 在现代网站和应用程序中,提供精准、快速的站内搜索功能是提升用户体验的关键。本文将深入探讨如何结合.Net框架与Lucene搜索引擎库,搭配盘古分词工具,来构建...

    最新版Lucene.Net盘古分词2.0

    4. **扩展性**:支持自定义词典,用户可以添加特定领域词汇,提升分词的针对性。 **三、Lucene.Net与盘古分词的结合应用** 在`Lucene.Net`4.8版本中,整合盘古分词2.0,可以实现更高效的中文全文检索。具体步骤...

    猎兔Lucene.NET中文分词源码seg_src.rar

    通过分析seg_src中的代码,开发者可以深入学习Lucene.NET如何处理中文文本,了解其分词算法的实现细节,包括词典加载、歧义消除、新词发现等方面的技术。 4. **seg_src**:seg_src很可能是分词模块的源代码目录,...

    lucene中文分词

    jieba分词器还支持添加自定义词典,以应对专业领域的特定词汇。 除了jieba,"je-analysis"可能还包括其他的分词组件,如IK Analyzer、SmartChineseAnalyzer等,这些分词器各有特点,可以根据实际需求选择合适的工具...

    Lucene3.0分词系统.doc

    无论是英文的简单分词流程,还是中文的基于词典匹配、语义理解或词频统计的分词方法,都是为了构建更精准、高效的文本索引和搜索体验。通过这些技术的应用,Lucene3.0能够支持全球范围内不同语言和文化背景下的文本...

    Lucene中文分词器组件

    2. **配置与初始化**:根据项目需求,配置分词器的参数,如自定义词典、分词模式等,然后在Lucene的Analyzer中实例化该分词器。 3. **索引建立**:在创建索引时,使用配置好的分词器对中文文本进行分词,生成分词后...

    lucene中文分词器(paoding解牛)

    《Lucene中文分词器——Paoding解牛详解》 在中文信息检索领域,分词是至关重要的一环,它能够将连续的汉字序列切割成具有独立意义的词语,为后续的索引和查询提供基础。Lucene作为Java最著名的全文搜索引擎库,其...

    lucene中文分词工具包

    Lucene是一个高性能、全文检索库,而“lucene中文分词工具包”则为Lucene提供了一个专门针对中文分词的解决方案。这个工具包的核心是IKAnalyzer,它是一个开源且基于Java语言开发的轻量级中文分词工具,旨在提升中文...

    盘古分词+Lucene

    《盘古分词与Lucene在全文检索中的应用》 在信息技术日新月异的今天,中文全文检索和搜索已经成为互联网应用的重要组成部分。对于中文文本的处理,分词是关键的第一步,而Lucene则是广泛使用的全文搜索引擎库。本文...

    lucene中文分词(庖丁解牛)庖丁分词

    庖丁分词支持词典分词、基于统计的分词以及混合分词模式,能够满足不同场景下的需求。它的特点包括高精度、高效率以及丰富的扩展性,适合在Lucene中进行中文文本的预处理。 三、集成庖丁分词到Lucene 1. 下载与安装...

Global site tag (gtag.js) - Google Analytics