1、Lucene简介
Lucene是一个用Java写的全文索引引擎工具包,可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。
传统的数据库中的模糊查询 like %keyword% 是从数据库逐行匹配的,就像翻书一页页的查找需要的内容,所以效率也就自然很低了。而Lucene的全文索引指的是建立一个类似于科技索引一样的反向索引机制,将数据源排序存储,并提取出关键词并把关键词排好序,然后把关键词和文章映射好。所以检索过程就是把模糊查询变成多个可以利用索引的精确查询的逻辑组合过程。全文检索问题归结到最后就是一个排序问题。
可以从官网下载最新的Lucene:
2、简单的示例
以下是官网给的一个简单的例子:
public class demo1 {
public static void main(String[] args){
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);
// Store the index in memory:
Directory directory = new RAMDirectory();
// To store an index on disk, use this instead:
//Directory directory = FSDirectory.open("/tmp/testindex");
IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_CURRENT, analyzer);
IndexWriter iwriter;
try { <