`

Lucene整合"庖丁解牛"中文分词包

阅读更多

转自:http://qzone.qq.com/blog/58472399-1227540674

发表时间:2008年11月24日 23:31

 

我现在测试用的Lucene版本是lucene-2.4.0,它已经能够支持中文分词,但它是采用一元分词(逐字拆分)的方法,即把每一个汉字当作是一个 词,这样会使建立的索引非常庞大,会影响查询效率.所以大多运用lucene的朋友,都会考虑使用其它的中文分词包,这里我就介绍最为常用的"庖丁解牛" 分词包,当然它也是一个值得推荐的中文分词包.
        本文主要讲解Lucene如何整合"庖丁解牛"分词包,在整合前,还是先通过一个实例演示一下Lucene自带的中文分词器的分词效果.
    package gzu.lyq.luceneAnalyzer;
    import java.io.StringReader;
    import org.apache.lucene.analysis.Analyzer;
    import org.apache.lucene.analysis.Token;
    import org.apache.lucene.analysis.TokenStream;
    import org.apache.lucene.analysis.standard.StandardAnalyzer;
    //测试Lucene自带的中文分词器

    
    public class LuceneAnalyzer {
        public static void main(String[] args) throws Exception {
             //StandardAnalyzer: 一元分词   
            Analyzer analyzer = new StandardAnalyzer();
            String  indexStr = "我的QQ号码是58472399 ";
            StringReader reader = new StringReader(indexStr);
            TokenStream ts = analyzer.tokenStream(indexStr, reader);
            Token t = ts.next();
            while (t != null) {
                System.out.print(t.termText()+"  ");
                t = ts.next();
            }
        }
    }
分词结果:我  的  qq  号  码  是  58472399   
        通过上面的例子就会发现,Lucene自带分词器是将中文逐字拆分的,这是最为原始的分词方法,现在大都不采用.
        下面进入主题,来讲解Lucene和"庖丁解牛"中文分词包的整合.
        "庖丁解牛"的下载地址是http://code.google.com/p/paoding/downloads/list ,下载好后解压,我解压在E:\paoding2_0_4,进入该目录,首 先将paoding-analysis.jar拷贝到项目的WEB-INF/lib目录;接着需要设置环境变量PAODING_DIC_HOME,变量 名:PAODING_DIC_HOME 变量值:E:\paoding2_0_4\dic 第三步将E:\paoding2_0_4\src目录下的paoding-dic-home.properties属性文件拷贝到项目的src目录下,添 加一行paoding.dic.home=E:/paoding2_0_4/dic 好了,到这里,已经完成了Lucene和"庖丁解牛"的整合,下面写个例子来测试一下.
    package gzu.lyq.luceneAnalyzer;
    import java.io.StringReader;
    import org.apache.lucene.analysis.Analyzer;
    import org.apache.lucene.analysis.Token;
    import org.apache.lucene.analysis.TokenStream;
    import net.paoding.analysis.analyzer.PaodingAnalyzer;
    //测试"庖丁解牛"中文分词器的分词效果      
    public class PaodingAnalyzer {
        public static void main(String[] args) throws Exception {
            Analyzer analyzer = new PaodingAnalyzer();
            String  indexStr = "我的QQ号码是58472399 ";
            StringReader reader = new StringReader(indexStr);
            TokenStream ts = analyzer.tokenStream(indexStr, reader);
            Token t = ts.next();
            while (t != null) {
                System.out.print(t.termText()+"  ");
                t = ts.next();
            }
        }
    }
分词结果:我的  qq  号码  58472399   
如果把indexStr换成是"中华人民共和国万岁" ,那么分词结果为:
中华  华人  人民  共和  共和国  万岁   
        很明显,它的分词效果要比Lucene自带的中文分词器的效果好的多.
分享到:
评论

相关推荐

    lucene3庖丁解牛中文分词器

    《深入剖析:Lucene3与庖丁解牛中文分词器》 在信息技术飞速发展的今天,全文检索和搜索引擎已经成为日常开发中不可或缺的部分。Lucene作为一款强大的全文检索库,被广泛应用于各种信息检索系统中。然而,对于中文...

    lucene 中文分词 庖丁解牛

    《Lucene中文分词:庖丁解牛》 在信息技术高速发展的今天,全文搜索引擎已经成为网站内容检索不可或缺的一部分。其中,Apache Lucene作为一个开源的全文检索库,被广泛应用于各种项目中,尤其对于处理中文文本,...

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

    《Lucene中文分词——庖丁解牛》 在自然语言处理领域,中文分词是基础且关键的一环。在Java开发中,Apache Lucene是一个强大的全文搜索引擎库,但默认并不支持中文,这就需要借助第三方分词工具。本文将深入探讨...

    lucene Analyzer 庖丁解牛 中文分词

    《Lucene Analyzer剖析:中文分词的奥秘》 在信息检索领域,Lucene作为一款强大的全文搜索引擎库,被广泛应用于各种系统中。其核心功能之一就是对输入...理解Analyzer的工作原理和特性,是掌握Lucene中文处理的关键。

    lucene3.0 整合庖丁解牛实例

    实例是一个java实例,可直接导入到MyEclipse中...其中是lucene3.0整合了庖丁解牛分词法,添加了高亮显示。因为lucene3.0无法整合paoding-analysis.jar 所以我已经把paoding-analysis中的源码整合进来了避免无法整合问题

    Lucene 庖丁解牛分词法2.4版本jar包

    总的来说,"庖丁解牛分词法"为Lucene提供了一种高效的中文分词解决方案,显著提升了中文信息检索的准确性和用户体验。通过不断优化和更新,如"paoding-analysis-2.0.4-alpha2"这样的分词工具,使得开发者能够更好地...

    paoding analysis 3.0.1 jar (庖丁解牛分词器)

    由于庖丁官方目前提供可下载尚不支持Lucene 3.0以上版本。因此作者对paoding进行重新编译,使其与最新Lucene 3.0.1版本适用。 Latest paoding 3.0.1 for lucene 3.0.1 使用说明: 先下载2.0.4的版本(h t t p : / ...

    sorlr + tomcat+ 庖丁解牛中文分词 配置文档

    标题 "sorlr + tomcat+ 庖丁解牛中文分词 配置文档" 提到的是一个关于在Apache Solr中集成Tomcat服务器,并利用庖丁解牛中文分词工具进行中文处理的配置教程。这个配置过程对于搭建支持中文搜索的Solr环境至关重要。...

    Lucene加庖丁解牛测试类

    本文将深入探讨“Lucene加庖丁解牛测试类”,旨在帮助读者理解Lucene的核心概念,并通过实际的测试类解析,提升对Lucene的运用能力。 首先,我们需要理解“庖丁解牛”的含义。这源自古代典故,意指做事技艺娴熟,能...

    庖丁解牛,一种中文分词器

    "庖丁解牛"是一款专为处理中文文本的分词工具,它的设计目的是为了帮助开发者更高效、准确地对中文文本进行分词处理。在自然语言处理(NLP)领域,分词是基础且关键的一环,它将连续的文本序列切分成具有独立意义的...

    适用于lucene..5的庖丁解牛分词器

    可以适用于lucene3.5的庖丁解牛分词器jar包

    庖丁解牛工具

    而"庖丁解牛"则为Lucene提供了针对中文的分词支持,使得开发者可以更好地处理中文文档,提高了搜索的准确性和效率。它的特点包括对中文词汇的精准识别,对新词的动态学习,以及对多音字、成语和网络用语的有效处理。...

    Lucene3.0以上版本庖丁解牛分词法demo

    最新庖丁解牛分词法的使用demo,支持Lucene3.3、3.4等3.0以上版本,庖丁解牛的分词包为自己编译生成的,之前的2.0的版本不能支持Lucene3.0以上版本,所以需要从svn下载最新的庖丁解牛源码,生成jar文件(我同样已...

    庖丁解牛 源码 for Lucene 2.4

    《庖丁解牛 源码 for Lucene 2.4》是一份针对开源全文搜索引擎Lucene 2.4版本的深度解析资料。这个压缩包包含的文件名为"paoding-for-lucene-2.4",很可能是针对中文处理的Paoding Lucene库的源代码分析或扩展。...

    庖丁解牛分词器jar包

    Paoding's Knives 中文分词具有极 高效率 和 高扩展性 。引入隐喻,采用完全的面向对象设计,构思先进。 高效率:在PIII 1G内存个人机器上,1秒 可准确分词 100万 汉字。 采用基于 不限制个数 的词典文件对文章...

    庖丁解牛jar包

    一直找不到适合lucene-35以上的庖丁解牛jar包,搞了半天总于生成好了jar包,在lucene-35中运行没问题

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

    总的来说,"lucene6.6+拼音分词+ik中文分词包"的组合提供了一套完整的中文分词解决方案。通过灵活运用这些工具,开发者可以在Lucene中实现高效的中文搜索,同时兼顾拼音搜索,满足多样化的搜索需求。对于Java开发者...

    Lucene中文分词器包

    来自“猎图网 www.richmap.cn”基于IKAnalyzer分词算法的准商业化Lucene中文分词器。 1. 正向全切分算法,42万汉字字符/每秒的处理能力(IBM ThinkPad 酷睿I 1.6G 1G内存 WinXP) 2. 对数量词、地名、路名的...

    支持Lucene3.3、3.4的庖丁解牛分词法的源码和jar包

    资源为庖丁解牛分词法的最新源码以及生成的jar包,支持最新的Lucene3.4以及Lucene3.0以上版本。Jar包为本地生成,大家也可以到SVN上检出自己生成,另外庖丁解牛分词法的使用Demo我会接下来上传一份,欢迎分享。

    lucene最新版本加庖丁解牛实现搜索引擎

    《使用Lucene最新版与庖丁解牛方法构建搜索引擎》 在信息技术日新月异的今天,搜索引擎已经成为了我们获取信息的重要工具。Apache Lucene是一个高性能、全文本搜索库,被广泛应用于各种搜索引擎的开发中。本文将...

Global site tag (gtag.js) - Google Analytics