本案例使用的是Lucene-3.6.2版本,Lucene官方网站:http://lucene.apache.org/。
案例说明:
本例模拟了贴吧中检索帖子的功能,通过创建Article类来模拟帖子对象。用户输入检索信息,Lucene就可以根据检索信息来获取与之相关的Article对象,并返回给用户。
一、建立工程
首先在我们的MyEclipse中创建一个Java工程即可,在里面创建一个lib文件夹用于存放我们开发时用的jar包。
二、导入jar包
本案例需要Lucene的4个基本jar包。如下:
lucene-core-3.6.2.jar
contrib\analyzers\common\lucene-analyzers-3.6.2.jar(分词器)
contrib\highlighter\lucene-highlighter-3.6.2.jar(高亮)
contrib\memory\lucene-memory-3.6.2.jar(高亮)
然后将lib中的四个jar包Build Path。
三、创建HelloWorld类
在src下自创建一个包,并在包中创建HelloWorld.java文件。
这个文件中不需要main函数,我们将通过jUnit来测试程序。
所以在我们的方法中需要添加@Test注解。
public class HelloWorld {
//创建索引库
@Test
public void createIndex() {
}
//搜索索引库
@Test
public void seacherIndex() {
}
}
四、创建检索类PO
创建我们需要检索的类Article(模拟帖子对象),里面有三个字段:id,title,content,
分别表示:编号、标题、内容。
public class Article {
private Integer id; //id
private String title; //标题
private String content; //内容
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
@Override
public String toString() {
return "Article [id=" + id + ", title=" + title + ", content="
+ content + "]";
}
}
五、编写HelloWorld,实现创建和查询索引库
这里需要记住创建和查询的两个核心API: