- 浏览: 1064828 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (639)
- 服务器配置篇 (58)
- hibernate篇 (14)
- spring篇 (33)
- struts篇 (28)
- JS篇 (46)
- 其他技术篇 (46)
- 数据库集群配置 (6)
- JAVA基础相关 (48)
- 分布式框架HadHoop的应用 (2)
- FLEX篇 (8)
- SQLSERVER技术 (32)
- Android学习 (13)
- amchart学习笔记 (1)
- openfire+smark搭建即时通讯 (9)
- Linux学习 (18)
- Oracle数据库 (15)
- 网站优化技术 (12)
- mysql数据库 (2)
- 项目学习总结 (18)
- 工具类(JAVA) (12)
- 工具类(JS) (2)
- 设计模式 (10)
- Lucene学习 (24)
- EJB3学习 (6)
- Sphinx搜索引擎 (3)
- 工作中用到的软件小工具 (5)
- .NET (49)
- JAVA 连接SQLSERVER2008步骤 (1)
- MongoDB (19)
- Android手机开发 (3)
- Maven (6)
- vue (9)
- Shiro (4)
- mybatis (3)
- netty框架 (1)
- SpringCloud (3)
- spring-cloud (7)
- Git (1)
- dubbo (2)
- springboot (13)
- rocketmq (1)
- git学习 (2)
- kafka服务器 (2)
- linux (10)
- WEB系统辅助项目 (1)
- jenkins (2)
- docker (4)
- influxdb (3)
- python (2)
- nginx (1)
最新评论
-
jiangfuofu555:
这样数据量大,效率怎么样?
sqlserver 实现分页的前台代码 以及后台的sqlserver语句 -
w156445045:
博主请问下,如何做到实时的刷新呢,
另外我后台是Java 谢谢 ...
web 版本的汽车仪表盘,非常好看。还有各种图形 -
jackyin5918:
<transportConnector name=&qu ...
ActiveMQ的activemq.xml详细配置讲解 -
握着橄榄枝的人:
你这个不是spring1.x的吧
spring1.x使用AOP实例 -
xiaophai:
全乱套了!
openfire+spark搭建完美的及时通讯
注意:这里配置环境变量要重新启动系统后生效
我现在测试用的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 号 码 是 234456
通过上面的例子就会发现,Lucene自带分词器是将中文逐字拆分的,这是最为原始的分词方法,现在大都不采用.
下面进入主题,来讲解Lucene和"庖丁解牛"中文分词包的整合.
"庖丁解牛"的下载地址是[url]http://code.google.com/p/paoding/downloads/list[/url],下载好后解压,我解压在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号码是3453245";
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 号码 3453245
如果把indexStr换成是"中华人民共和国万岁" ,那么分词结果为:
中华 华人 人民 共和 共和国 万岁
本文主要讲解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 号 码 是 234456
通过上面的例子就会发现,Lucene自带分词器是将中文逐字拆分的,这是最为原始的分词方法,现在大都不采用.
下面进入主题,来讲解Lucene和"庖丁解牛"中文分词包的整合.
"庖丁解牛"的下载地址是[url]http://code.google.com/p/paoding/downloads/list[/url],下载好后解压,我解压在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号码是3453245";
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 号码 3453245
如果把indexStr换成是"中华人民共和国万岁" ,那么分词结果为:
中华 华人 人民 共和 共和国 万岁
注意:用庖丁分词器的时候,首先加入的包路径中不能有中文,似乎中文不认,要加入common-logging.jar包,要不然会提示找不到类。
- paoding-analysis-2.0.4-beta.zip (5.8 MB)
- 下载次数: 530
发表评论
-
使用Lucene-Spatial实现集成地理位置的全文检索
2015-05-27 17:33 1330Lucene通过Spatial包提供了对基于地理位置的 ... -
Lucene4.10.2开发之高亮显示
2015-05-05 23:13 596转载请注明,原创地址,谢谢配合! http://qindo ... -
bobo-browse
2011-02-10 10:22 2804bobo-browse 是一款用java写的lucene扩展组 ... -
Lucene 2 通过updateDocument更新索引
2010-12-30 15:47 2061package com.lucene; i ... -
Lucene 3建立索引和查询索引详解
2010-12-22 23:02 1844public void index() throws Corr ... -
Lucene3 查询索引
2010-12-22 22:46 1772package lucene3; import java.i ... -
Lucene3 建立索引
2010-12-22 22:25 1404Lucene3在建立索引的API上有比较大的变化。直接上程序: ... -
Lucene 3.0的简单解析及变化
2010-12-22 21:59 1144一、 概述 Lucene3 ... -
Lucene从结果中取出数据
2010-12-21 20:23 1235有些应用,比如我们首先要搜索一个Person的索引文件,然后通 ... -
Lucene过滤器
2010-12-21 20:05 3796有的应用有些要求,对于某类型的内容即使满足条件了,但是也不能被 ... -
Lucene对于短语匹配查询的用法
2010-12-21 17:41 1378通常对于ID查询或者是比较确定字段内容的查询,我们就用: T ... -
Lucene 对所查的结果进行排序
2010-12-20 23:01 1224前面介绍完查询以后,现在要对查询结果进行排序的显示。 代码: ... -
Lucene 搜索方法(模糊搜索)
2010-12-20 11:54 3515LUCENE提供了一种模糊搜 ... -
Lucene 搜索方法(多短语搜索)
2010-12-20 11:42 1194短语搜索解决了短语搜索的问题,在很多情况下,用户输入某个关键字 ... -
Lucene 搜索方法(短语搜索)
2010-12-20 11:15 1828用户在搜索的时候,更多的情况是输入一个以上的关键字,这些关键字 ... -
Lucene 搜索方法(前缀搜索)
2010-12-20 10:27 1887PrefixQuery是一种前缀搜索,在检索的时候,常常需要进 ... -
Lucene 的索引读取工具(IndexReader)
2010-12-19 23:00 1614Lucene有一个很重要的工具IndexReader负责对索引 ... -
Lucene 搜索方法(范围搜索)
2010-12-19 22:54 1293在某些情况下,用户需要查找一定范围内的文档,比如时间,ID等。 ... -
Lucene 搜索方法(布尔搜索)
2010-12-19 22:04 1622布尔搜索: 布尔查询的对象中,包含一个子句的集合。各种子句间都 ... -
Lucene 搜索方法(词条搜索)
2010-12-19 21:15 1263词条搜索是LUCENE最为简单的一种搜索方式,通过对某个固定的 ...
相关推荐
《Lucene中文分词——庖丁解牛》 在自然语言处理领域,中文分词是基础且关键的一环。在Java开发中,Apache Lucene是一个强大的全文搜索引擎库,但默认并不支持中文,这就需要借助第三方分词工具。本文将深入探讨...
《Lucene中文分词:庖丁解牛》 在信息技术高速发展的今天,全文搜索引擎已经成为网站内容检索不可或缺的一部分。其中,Apache Lucene作为一个开源的全文检索库,被广泛应用于各种项目中,尤其对于处理中文文本,...
《深入剖析:Lucene3与庖丁解牛中文分词器》 在信息技术飞速发展的今天,全文检索和搜索引擎已经成为日常开发中不可或缺的部分。Lucene作为一款强大的全文检索库,被广泛应用于各种信息检索系统中。然而,对于中文...
由于庖丁官方目前提供可下载尚不支持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 : / ...
在Lucene中,"庖丁解牛分词法"通过集成第三方分词库实现,如"paoding-analysis-2.0.4-alpha2",这是一个专门为Lucene定制的中文分词组件。这个版本的分词器具有以下特点: 1. **高效性能**:优化了算法,使其在处理...
最新庖丁解牛分词法的使用demo,支持Lucene3.3、3.4等3.0以上版本,庖丁解牛的分词包为自己编译生成的,之前的2.0的版本不能支持Lucene3.0以上版本,所以需要从svn下载最新的庖丁解牛源码,生成jar文件(我同样已...
Paoding这个名字来源于中国古代的一种宰牛技术,寓意其对中文文本的“解构”能力,如同庖丁解牛般精细入微。 Paoding的核心特点包括: 1. **智能词典**:Paoding使用了一种动态加载的词典机制,能够根据上下文信息...
《使用Lucene最新版与庖丁解牛方法构建搜索引擎》 在信息技术日新月异的今天,搜索引擎已经成为了我们获取信息的重要工具。Apache Lucene是一个高性能、全文本搜索库,被广泛应用于各种搜索引擎的开发中。本文将...
可以适用于lucene3.5的庖丁解牛分词器jar包
lucene3.0 中文分词器, 庖丁解牛
“Lucene分词器”是"庖丁解牛工具"的一个重要组成部分。Apache Lucene是一个高性能、全文本搜索库,它是Java开发者常用来构建搜索引擎的工具。而"庖丁解牛"则为Lucene提供了针对中文的分词支持,使得开发者可以更好...
"庖丁解牛"分词器可以方便地与Lucene进行集成,用于提升搜索系统的中文处理能力。在集成到Lucene 3.0版本时,由于版本间的接口和功能可能会有所变化,因此可能需要进行一些适应性修改。这通常涉及到调整配置文件、...
《庖丁解牛 源码 for Lucene 2.4》是一份针对开源全文搜索引擎Lucene 2.4版本的深度解析资料。这个压缩包包含的文件名为"paoding-for-lucene-2.4",很可能是针对中文处理的Paoding Lucene库的源代码分析或扩展。...
本文将深入探讨“Lucene加庖丁解牛测试类”,旨在帮助读者理解Lucene的核心概念,并通过实际的测试类解析,提升对Lucene的运用能力。 首先,我们需要理解“庖丁解牛”的含义。这源自古代典故,意指做事技艺娴熟,能...
标题 "sorlr + tomcat+ 庖丁解牛中文分词 配置文档" 提到的是一个关于在Apache Solr中集成Tomcat服务器,并利用庖丁解牛中文分词工具进行中文处理的配置教程。这个配置过程对于搭建支持中文搜索的Solr环境至关重要。...
其核心功能之一就是对输入文本进行高效精准的分词处理,以便进行后续的索引和查询操作。本文将深入探讨Lucene的Analyzer组件,以及它如何处理中文分词这一关键问题。 Analyzer是Lucene中的一个关键类,它的主要任务...
资源为庖丁解牛分词法的最新源码以及生成的jar包,支持最新的Lucene3.4以及Lucene3.0以上版本。Jar包为本地生成,大家也可以到SVN上检出自己生成,另外庖丁解牛分词法的使用Demo我会接下来上传一份,欢迎分享。
Paoding's Knives 中文分词具有极 高效率 和 高扩展性 。引入隐喻,采用完全的面向对象设计,构思先进。 高效率:在PIII 1G内存个人机器上,1秒 可准确分词 100万 汉字。 采用基于 不限制个数 的词典文件对文章...
《深入剖析Lucene3.0:庖丁解牛与索引搜索实践》 在IT行业中,搜索引擎技术扮演着至关重要的角色,而Lucene作为一个开源全文检索库,为开发者提供了强大的文本搜索功能。本文将深入探讨Lucene3.0版本,结合“庖丁解...