初探lucene

Lucene API分为以下几个包:


1) org.apache.lucene.analysis
       定义了抽象类Analyzer的API,能将文本text从java.io.Reader转化成一个TokenStream,其中TokenStream是Attributes(即单词)的枚举。TokenStream可以通过对Tokenizer的输出调用TokenFilters来获得。一个Analyzer一般会用到Tokenzier以及TokenFilter。此包包含一些常用的Analyzer的实现类,如StopAnalyzer以及StandardAnalyzer。


2) org.apache.lucene.document
      此包提供了一个简单的Document类。一个Document对象是字段Field的集合,这个集合可能是字符串或者java.io.Reader。


3) org.apache.lucene.index
      提供了两个基础类:IndexWriter,用于创建和添加Documents到索引中;IndexReader,用于从索引中读取数据。
4) org.apache.lucene.search
      提供了用于表示查询query的一些数据结构(TermQuery,PhraseQuery,BooleanQuery等等),除此之外还提供了抽象类Searcher,此类用于将查询query转化成TopDoc,即查询出来的最优结果。IndexSearcher是在IndexReader基础之上的一个Searcher类实现。


5) org.apache.lucene.queryParser
      使用JavaCC来实现一个QueryParser。(JavaCC(Java Compiler Compiler)是一个用JAVA开发的最受欢迎的语法分析生成器。)


6) org.apache.lucene.store
      定义了一个抽象类Directory来存储持久的数据,其实是一个文件索引集合,这些文件能被IndexOutput和IndexInput来读写。此包给出了两个实现:FSDirectory,将文件集合存到文件系统中;RAMDirectory,通过内存中的数据结构来存储文件。


7) org.apache.lucene.util
      包括一些常用的数据结构以及工具类,如BitVector以及PriorityQueue等。

 

你可能感兴趣的:(apache,数据结构,Lucene)