庖丁解牛 最新版本2.0.0
主要变更:
1)调整了package命名 改为net.paoding.analysis开头;调整了一些类的命名,主要是XAnalyzer改为
PaodingAnalyzer之类的。
2)并调整了部分代码的相对位置:代码集中在三个包中:
net.paoding.analysis.dictionary 字典抽象--这是核心代码之一
net.paoding.analysis.knife "刀"抽象-分词算法-这是核心代码之二
net.paoding.analysis.analyzer 封装adapter到lucene接口
关键代码没有任何改变,特别是CJKKnife没有发现错误。
3)同时,将字典改为英文命名,避免操作系统中文命名带来不必要影响
4)增加了配置文件;使knife可以在配置文件配置增减,同时字典的安装路径可以随意指定。
5)BUGFIX : highlight位置错误
下载地址:[url]http://code.google.com/p/paoding/downloads/list [/url]
SVN地址:
http://paoding.googlecode.com/svn/trunk/paoding-analysis/
-------------------------------------------------------------------
选择"庖丁解牛"作为Lucene中文分词可能有以下理由:
@设计优美-使用庖丁隐喻,容易理解代码设计
@效率极高-极高效率的字典查找算法;尽量避免无谓试探查找
@算法简练-简单易理解的算法,但效率却是非常高效的
@轻松支持最大/最小切词
@字典灵活-
字典文件个数不限;
名称不限,只要符合以dic作为扩展名的均视为字典
目录层级不限(所以可以任意加减字典目录以及目录下的字典)
字典格式简单:不需要特别排序,人工可编辑
@源代码是开放的,遵守
http://www.apache.org/licenses/LICENSE-2.0协议
@作者能力:Java基础知识、设计能力扎实、持续关注改进
-------------------------------------------------------------------
"庖丁解牛" 使用指南
1、准备
1)将二进制包paoding-analyis.jar放到自己的classpath下
2)将字典文件安装(也就是拷贝)到某个目录下,比如/data/paoding/dic下
3)把配置文件paoding-analysis.properties放到自己的classpath下
4)打开paoding-analysis.properties,把paoding.dic.home属性设置为字
典的安装目录,比如paoding.dic.home=/data/paoding/dic,特别的,如
果字典是安装在classpath下的dic目录下,则可以简单这样配置该属性:
paoding.dic.home=classpath:dic
2、建立索引
1)将庖丁封装成符合Lucene要求的Analyzer规范,获取writer mode的lucene
分析器,writer mode意味要同时支持最大和最小切词。
Paoding paoding = PaodingMaker.make();
Analyzer writerAnalyzer = PaodingAnalyzer.writerMode(paoding);
Paoding应保存为一个系统单例为好,以重复利用,它是线程安全的.
2)使用Lucene标准API对文件建立索引。
IndexWriter writer = new IndexWriter(dirctory, writerAnalyzer);
...
3、检索查找
1)使用Lucene标准API对文件进行检索,使用和建立索引时相同种的lucene分析器。
QueryParser parser = new QueryParser("content", writerAnalyzer );
...
更具体的使用方式参见
examples/net.paoding.analysis.examples.gettingstarted中的示例代码
------------------------------------------------------------------
"庖丁解牛"google 论坛:
[url]http://groups.google.com/group/paoding [/url]
"中文分词" Javaeye 论坛:
http://analysis.group.iteye.com/
svn地址:
[url]http://paoding.googlecode.com/svn/trunk/paoding-analysis/ [/url]
旧版本地址:
http://paoding.googlecode.com/svn/trunk/paoding-analysis-1/
不建议下载旧版本
分享到:
相关推荐
庖丁分词的设计理念是借鉴了古代厨师“庖丁解牛”的故事,寓意其在处理中文文本时能够像庖丁一样游刃有余,精准地进行分词。 在压缩包文件名称“paoding-analysis-2.0.0”中,“paoding”是庖丁分词的英文名称,...
INAV Configurator 2.0.0 中文版本
魔众人才招聘系统发布v2.0.0版本,新功能和Bug修复累计19项,全新升级,美观大方。 -0001年11月30日魔众人才招聘系统发布v2.0.0版本,增加了以下19个特性: - [新功能] 用户前后台全面升级 - [新功能] 系统...
在2.0.0-ALPHA.1版本中,Nacos进一步提升了性能和稳定性,提供了更加丰富的功能,适配了更多场景的需求。 标题提到的“nacos-server-2.0.0-ALPHA.1下载”指的是Nacos的服务器端的2.0.0预览版,这个版本包含了针对...
Hbase数据库2.0.0版本介绍 Assignment Manager v1 root of many operational headaches ● Redo based on custom “ProcedureV2”-based State Machine ○ Scale/Performance ○ All Master ops recast as Pv2 ...
Spark 2.0.0版本是该框架的一个重要里程碑,它在前一版本的基础上进行了大量的优化和改进,旨在提供更好的性能和更多的功能。在这个版本中,开发者可以体验到更加成熟的SQL支持、更强大的机器学习库MLlib以及更加...
2.0.0版本的发布标志着Seata在功能、性能和稳定性上有了显著的提升。下面我们将深入探讨Seata的核心概念、工作原理以及在2.0.0版本中的关键特性。 1. 分布式事务挑战与Seata解决方案: 在微服务架构中,由于服务间...
魔众Markdown管理系统采用PHP+Mysql架构,是一款对SEO非常友好、功能全面、安全稳定、支持多终端展示并且使用起来极其简单的...魔众Markdown管理系统发布v2.0.0版本,新功能和Bug修复累计13项,全新架构,更稳定更美观。
压缩包内的 "elgg-2.0.0-beta.3" 文件可能是 Elgg 2.0.0 的第三个测试版本,通常在正式发布之前,软件会经历多个预发布阶段,如 alpha、beta 和 RC(Release Candidate)阶段。这个 beta 版本意味着软件已经接近完成...
魔众博客系统采用PHP+Mysql架构,是一款对SEO非常友好、功能全面、安全稳定、支持多终端展示并且使用起来极其简单的博客管理系统。...魔众博客系统发布v2.0.0版本,新功能和Bug修复累计3项,系统更精简,平台升级。
GAppProxy服务端源码+windows自动布署工具,2.0.0版本
本资源摘要信息将详细介绍 2.0.0 版本升级日志中所包含的知识点。 nwjs 升级 在 2.0.0 版本中,nwjs 被升级到了 0.20.3,这意味着 Chromium 也升级到了 56,Node 也升级到了 7.6.0。这将带来更好的性能和安全性。 ...
2.0.0版本的发布,标志着Lucene在搜索领域迈出的重要一步。这个版本不仅提供了基础的索引和搜索功能,还引入了多项改进,增强了性能和稳定性,使得开发者能够更方便地集成到自己的项目中。 首先,Lucene的核心概念...
本文将围绕"Kotlin-compiler-2.0.0.zip"这一核心,深入探讨Kotlin编译器的最新版本2.0.0,以及其内部组件和工作原理。 Kotlin编译器是将Kotlin源代码转换为可执行代码的关键工具,其2.0.0版本带来了诸多改进和优化...
然而,值得注意的是,Lucene 2.0.0版本默认的分词器并不支持中文分词,这意味着如果尝试用中文字符进行搜索,将不会返回任何结果。这是因为中文分词是一项复杂的技术挑战,需要专门设计的分词器才能处理。 四、结语...
KEILL4XX板载支持包,包含Keil.STM32L4xx_DFP.1.3.0.pack、Keil.STM32L4xx_DFP.1.4.0.pack、Keil.STM32L4xx_DFP.2.0.0.pack,Keil.STM32L4xx_DFP.2.1.0.pack,Keil.STM32L4xx_DFP.2.2.0.pack,支持新老版本Keil...
KEILH7XX板载支持包,包含Keil.STM32H7xx_DFP.2.0.0.pack、Keil.STM32H7xx_DFP.2.1.0.pack、Keil.STM32H7xx_DFP.2.2.0.pack、Keil.STM32H7xx_DFP.2.3.0.pack,支持新老版本Keil客户端
该项目为基于VKARM V2.0.0版本的机械臂移植代码设计源码,涉及1599个文件,包括558个cmake文件、416个make文件、57个launch文件、51个txt和stamp文件、50个Python脚本文件以及若干C, C++, Shell语言文件。...
KEILL0XX板载支持包,包含Keil.STM32L0xx_DFP.1.6.0.pack、Keil.STM32L0xx_DFP.1.6.1.pack、Keil.STM32L0xx_DFP.2.0.0.pack、支持新老版本Keil客户端
2.0.0版本中,内置了一些常见的分词器,如StandardAnalyzer,用于处理英文文本。 3. **Document与Field**:Document是Lucene的基本存储单元,代表一份文档,由多个Field组成。每个Field对应文档的一个属性,如标题...