Paoding 庖丁解牛 分词器基于 Lucene4.x - 文章教程

Paoding 庖丁解牛 分词器基于 Lucene4.x

发布于 2021-01-08 字数 1631 浏览 1083 评论 0

Paoding’s Knives 中文分词具有极 高效率 和 高扩展性 。引入隐喻,采用完全的面向对象设计,构思先进。

  • 高效率:在PIII 1G内存个人机器上,1秒 可准确分词 100万 汉字。
  • 采用基于 不限制个数 的词典文件对文章进行有效切分,使能够将对词汇分类定义。
  • 能够对未知的词汇进行合理解析

原项目托管于 google code,但是现在已不能访问,github 和 gitee 上有镜像项目:

分词示例

TokenStream ts = analyzer.tokenStream("text", new StringReader(text));
//添加工具类  注意:以下这些与之前lucene2.x版本不同的地方
CharTermAttribute offAtt = (CharTermAttribute) ts.addAttribute(CharTermAttribute.class);
// 循环打印出分词的结果,及分词出现的位置
while (ts.incrementToken()) {
    System.out.print(offAtt.toString() + "\t");
}

编译说明

项目默认可以使用Maven直接编译.

如果使用 Ant,可把依赖的 lib 放入 {pro_workspace}/target/dependency/ 下。然后使用 ant 可以直接编译,编译的结果存放在 {pro_workspace}/target/dist/{version}/ 下。

可使用 Maven 的 copy-dependencies 命令直接 copy 依赖到 {pro_workspace}/target/dependency/,然后使用 ant 编译。

mvn dependency:copy-dependencies

Solr 4.x 使用说明

Solr 4.x 以上可以直接配置 Lucene 的 Analyzer 配置如:

<fieldType name="text_general" class="solr.TextField">
  <analyzer class="net.paoding.analysis.analyzer.PaodingAnalyzer" />
</fieldType>

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

2583 文章
29 评论
84935 人气
更多

推荐作者

nuj316

文章 0 评论 0

梦中楼上月下

文章 2 评论 0

kook

文章 0 评论 0

thousandcents

文章 0 评论 0

像你

文章 1 评论 0