`
m635674608
  • 浏览: 5043416 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

lucene版本升级到4.6.0以上之后使用mmseg4j分词器遇到的问题

 
阅读更多

使用 mmseg4j 1.9.1 使用的是 lucene 4.3  没问题。

 

package com.artbulb.search.utils;

import java.io.StringReader;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;

import com.chenlb.mmseg4j.analysis.MaxWordAnalyzer;
 
public class Test {
     
      
    public static void main(String[] args)throws Exception {
                      //下面这个分词器,是经过修改支持同义词的分词器
    	    //Analyzer analyzer = new ComplexAnalyzer();
    	    //Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_47);   
    	   // Analyzer analyzer = new SimpleAnalyzer(Version.LUCENE_47);   
    	   Analyzer analyzer = new MaxWordAnalyzer();
    	
    	    String text="goods_zone_bate";
            TokenStream ts=analyzer.tokenStream("field", new StringReader(text));
            CharTermAttribute term=ts.addAttribute(CharTermAttribute.class);
            ts.reset();//重置做准备
            while(ts.incrementToken()){
                System.out.println(term.toString());
            }
            ts.end();//
            ts.close();//关闭流
         
          
    }
 
}

   

 

   如果使用lucene 4.7 需要注释 ts.reset();

 

package com.artbulb.search.utils;

import java.io.StringReader;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;

import com.chenlb.mmseg4j.analysis.MaxWordAnalyzer;
 
public class Test {
     
      
    public static void main(String[] args)throws Exception {
                      //下面这个分词器,是经过修改支持同义词的分词器
    	    //Analyzer analyzer = new ComplexAnalyzer();
    	    //Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_47);   
    	   // Analyzer analyzer = new SimpleAnalyzer(Version.LUCENE_47);   
    	   Analyzer analyzer = new MaxWordAnalyzer();
    	
    	    String text="goods_zone_bate";
            TokenStream ts=analyzer.tokenStream("field", new StringReader(text));
            CharTermAttribute term=ts.addAttribute(CharTermAttribute.class);
           // ts.reset();//重置做准备
            while(ts.incrementToken()){
                System.out.println(term.toString());
            }
            ts.end();//
            ts.close();//关闭流
         
          
    }
 
}

  

   

分享到:
评论

相关推荐

    跟益达学Solr5之使用MMSeg4J分词器

    以上就是关于在Solr5中集成和使用MMSeg4J分词器的基本流程和关键知识点。通过MMSeg4J,你可以显著提升Solr对中文文本的处理能力,为你的信息检索应用提供更精准、高效的搜索体验。同时,理解分词器的工作原理和配置...

    mmseg4j分词器

    在com.chenlb.mmseg4j.analysis包里扩展lucene analyzer。 MMSegAnalyzer默认使用max-word方式分词(还有:ComplexAnalyzer, SimplexAnalyzer, MaxWordAnalyzer)。

    word分词器、ansj分词器、mmseg4j分词器、ik-analyzer分词器分词效果评估

    本话题将深入探讨四种常用的Java分词工具:word分词器、ansj分词器、mmseg4j分词器以及ik-analyzer,以及它们在实际应用中的效果评估。 首先,ansj分词器是由李弄潮开发的一款开源分词工具,它具有强大的词典支持和...

    兼容solr4.10.3的mmseg4j-1.9.1分词器

    "兼容solr4.10.3的mmseg4j-1.9.1分词器" 这个标题表明我们正在讨论的是一个针对Solr 4.10.3版本优化的mmseg4j分词器,版本号为1.9.1。mmseg4j是一款广泛使用的Java实现的中文分词库,它提供了高效且精准的中文分词...

    mmseg4j分词

    **mmseg4j分词详解** 在中文信息处理领域,分词是文本分析的重要环节,它将连续的汉字序列划分为具有独立语义的词语,为后续的文本挖掘、搜索引擎索引、情感分析等任务奠定基础。mmseg4j是一款针对Java平台的高效...

    lucene整合mmseg4j实例和项目实例

    通过以上步骤,我们能够成功地将MMSEG4J整合到Lucene项目中,实现更精准的中文分词。同时,提供的项目实例为开发者提供了一个直观的学习平台,有助于更好地理解和运用这一技术。在实际开发中,不断优化和调整,以...

    MMseg4j中文分词词库

    总的来说,MMseg4j中文分词词库是实现高质量中文分词的关键资源,它结合了搜狗词库的丰富词汇和MMseg4j的高效算法,为Lucene和Solr提供了强大的中文处理能力。正确地配置和使用词库,能够显著提升文本检索的准确性和...

    mmseg4j完美适配solr5.2.1

    它使得mmseg4j可以集成到Solr中,作为Solr的分词器使用,让Solr具备了处理中文分词的能力。需要注意的是,不同版本的mmseg4j-solr插件需要与对应的Solr版本相匹配,以确保稳定性和兼容性。在Solr5.2.1这样的较新版本...

    mmseg4j 2.3 jar包

    **mmseg4j 2.3 Jar包:Lucene中文分词器详解** 在中文信息处理领域,分词是至关重要的第一步,它涉及到文本的预处理、搜索索引的构建以及信息检索等多个环节。mmseg4j是一款针对Java平台设计的高效、灵活的中文分词...

    solr6配置mmseg4j

    4. **配置schema.xml**:在Solr的schema.xml文件中,为需要进行分词的字段指定mmseg4j分词器。例如: ``` <fieldType name="text_mmseg" class="solr.TextField" positionIncrementGap="100"> ...

    mmseg4j-solr-mmseg4j-solr-2.2.0.zip

    1. **安装与配置**:将mmseg4j-solr-2.2.0的jar包添加到Solr的lib目录下,然后在Solr的schema.xml中配置分词器,指定使用mmseg4j-solr的分词算法。 2. **定制词典**:mmseg4j-solr允许用户自定义词典,以适应特定...

    中文分词器(mmseg4j + luncene5.X)源码+jar包

    《中文分词器mmseg4j与Lucene5.x整合详解及源码解析》 中文分词是自然语言处理中的重要一环,尤其在中文文本分析、信息检索、机器翻译等领域有着广泛的应用。mmseg4j是一款高效、灵活的Java实现的中文分词工具,而...

    mmseg4j-1.9.1

    **mmseg4j-1.9.1** 是一个基于Java实现的中文分词库,它的出现是为了满足在Java环境中进行高效、精准的中文文本分词需求。在自然语言处理领域,分词是预处理阶段的关键步骤,它将连续的汉字序列切割成具有语义的词汇...

    基于Lucene的中文分词器代码paoding,IK,imdict,mmseg4j

    本文将深入探讨基于Lucene的四种中文分词器:Paoding、IK、Imdict和Mmseg4j,它们都是针对Java开发的高效、开源的中文分词工具。 1. Paoding(庖丁)分词器: Paoding是一款高性能的中文分词器,设计目标是提供...

    mmseg4j-all-with-dic-1.8.6-sources.jar和mmseg4j-all-with-dic-1.8.6.jar

    4. 使用分词器对输入的中文文本进行分词,获取分词结果。 5. 结果处理,将分词后的词汇用于Lucene的索引构建或查询匹配。 总的来说,mmseg4j是Java开发中不可或缺的中文分词工具,它在Lucene中的应用为构建高效、...

    分词器mmseg4j 1.9.0.jar

    mmseg4j用Chih-Hao Tsai 的MMSeg算法实现的中文分词器,并实现lucene的analyzer和solr的TokenizerFactory以方便在Lucene和Solr中使用。 MMSeg 算法有两种分词方法:Simple和Complex,都是基于正向最大匹配。Complex...

    mmseg4j-1.8.5

    **mmseg4j-1.8.5** 是一个针对Lucene搜索引擎的中文分词库,主要用于提升中文信息处理的效率和准确性。该版本与Lucene 3.1版本兼容,意味着它可以在基于Lucene 3.1构建的信息检索系统中无缝集成,提供高效的中文分词...

    兼容solr4.10.2的ik-mmseg4j-paoding分词器

    能兼容solr-4.10.2的分词器,大礼包...包括IK分词器,mmseg4j分词器,庖丁分词器.都是经本人测试可用,其中mmseg4j与庖丁都是下载源码,修改重编译并测试生成的.希望大家喜欢.至于与solr的整合方式,网上很多,这里就不介绍了.

    solr 分词器 mmseg4j IKAnalyzer

    在 Solr 中,mmseg4j-solr-*.jar 文件用于集成 mmseg4j 到 Solr 环境,提供对中文文本的分词支持。 2. **IKAnalyzer** 是一个基于 Lucene 的开源中文分词器,它的全称是 "Intelligent Chinese Analyzer"。IK...

    Solr3.2 + mmseg4j-1.8.4中文搜索引擎_Demo

    在"Solr3.2+mmseg4j-1.8.4中文搜索引擎 demo"项目中,`paoding-analysis.jar`是包含mmseg4j分析器的Java库文件,它提供了与Solr交互的接口,使得Solr能够使用mmseg4j进行中文分词。`readme.txt`通常包含了关于如何...

Global site tag (gtag.js) - Google Analytics