使用说明:
IKAnalyzer
基于lucene2.0
版本API
开发,实现了以词典分词为基础的正反向全切分算法,是Lucene Analyzer
接口的实现,代码使用例子如下:
-
import
org.mira.lucene.analysis.IK_CAnalyzer <-------
引用类
import .....
public class IKAnalyzerTest
extends TestCase {
RAMDirectory directory;
private IndexSearcher searcher;
public void setUp() throws Exception {
directory = new RAMDirectory();
IndexWriter writer = new
IndexWriter(directory,
new IK_CAnalyzer(),
<-------
实例化类
true);
Document doc = new Document();
doc.add(Field.Keyword("title",
"
中文分词测试"));
doc.add(Field.Text("description",
"Illidium Space Modulator"));
writer.addDocument(doc);
writer.close();
searcher = new IndexSearcher(directory);
}
public void testTermQuery() throws Exception
{
Query query = new TermQuery(new
Term("title", "
中文分词"));
Hits hits = searcher.search(query);
assertEquals(1, hits.length());
}
}
分词效果测试,命令行如下:
java -classpath IKAnalyzer.jar;lucene-core-2.0.0.jar
org.mira.lucene.analysis.IK_CAnalyzer
中华人民共和国香港特别行政区
性能与特性:
1.
正向全切分算法,42
万汉字字符/
每秒的处理能力(IBM ThinkPad
酷睿I 1.6G 1G
内存 WinXP
)
2.
对数量词、地名、路名的优化处理
3.
对未知词汇采用自识别结合二元切分算法,确保搜索召回率
V 2.0.2
修订 Bata
版对二元切分的缺陷
正向全切分分词器:org.mira.lucene.analysis.IK_CAnalyzer
(适合建索引时使用)
正向最大全切分分词器:org.mira.lucene.analysis.MIK_CAnalyzer
(适合用户输入检索时使用)
下面演示“
正向最大全切分分词器”
效果:
例子:中华人民共和国香港特别行政区
0 - 7 =
中华人民共和国
7 - 14 =
香港特别行政区
例子:据路透社报道,印度尼西亚社会事务部一官员星期二(29
日)
表示,日惹市附近当地时间27
日晨5
时53
分发
生的里氏6.2
级地震已经造成至少5427
人死亡?
,20000
余人受伤,近20
万人无家可归。
1 - 4 =
路透社
4 - 6 =
报道
7 - 12 =
印度尼西亚
12 - 14 =
社会
14 - 17 =
事务部
17 - 18 =
一
18 - 20 =
官员
20 - 23 =
星期二
24 - 27 = 29
日
28 - 30 =
表示
31 - 34 =
日惹市
34 - 36 =
附近
36 - 40 =
当地时间
40 - 43 = 27
日
43 - 44 =
晨
44 - 46 = 5
时
46 - 49 = 53
分
48 - 50 =
分发
49 - 51 =
发生
52 - 54 =
里氏
54 - 58 = 6.2
级
58 - 60 =
地震
60 - 62 =
已经
62 - 64 =
造成
64 - 66 =
至少
66 - 71 = 5427
人
71 - 73 =
死亡
74 - 79 = 20000
79 - 81 =
余人
81 - 83 =
受伤
84 - 85 =
近
85 - 89 = 20
万人
89 - 93 =
无家可归
import org.mira.lucene.analysis.IK_CAnalyzer <------- 引用类
import .....
public class IKAnalyzerTest extends TestCase {
RAMDirectory directory;
private IndexSearcher searcher;
public void setUp() throws Exception {
directory = new RAMDirectory();
IndexWriter writer = new IndexWriter(directory,
new IK_CAnalyzer(), <------- 实例化类
true);
Document doc = new Document();
doc.add(Field.Keyword("title", " 中文分词测试"));
doc.add(Field.Text("description", "Illidium Space Modulator"));
writer.addDocument(doc);
writer.close();
searcher = new IndexSearcher(directory);
}
public void testTermQuery() throws Exception {
Query query = new TermQuery(new Term("title", " 中文分词"));
Hits hits = searcher.search(query);
assertEquals(1, hits.length());
}
}
分享到:
相关推荐
3. **分词与分析**:内置多种语言的分词器,如英文的 StandardAnalyzer 和中文的 IKAnalyzer,可以对文本进行预处理,提高搜索准确度。 4. **内存与磁盘索引**:支持在内存和磁盘上建立索引,平衡性能与资源消耗。 5...
16 IKAnalyzer3.2.0Stable.jar 中文分词库 17 java_memcached-release_2.0.1.jar memcached客户端包,无用 18 jopenid-1.07.jar gmail登录 19 lucene-core-3.0.0.jar 搜索引擎 20 lucene-highlighter-3.0.0.jar ...
28,IKAnalyzer-3.2.8.jar 29,im4java-1.4.0.jar 30,jackson-annotations-2.1.4.jar 31,jackson-core-2.1.4.jar 32,jackson-databind-2.1.4.jar 33,javassist-3.15.jar 34,jaxen-1.1.1.jar 35,jaxme-api-0.3....
github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对...
github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对...
github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对...
github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对...
github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对...
github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对...
github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对...
github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对...
github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对...
github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对...
github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对...
github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对...
github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对...
此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这...