在使用Lucene开发搜索引擎时,需要分成两大模块。索引和搜索,即Indexer和Searcher。顾名思义,Indexer负责对文档简历索引,Searcher负责在建立的索引上进行搜索。
最基本的Indexer在实现上需要以下几个类
IndexWriter 这个类主要负责建立修改索引。Lucene也提供其它的类完成这个功能
Directory 它是索引存储路径的抽象,它有2个子类,FSDirectory文件系统路径 RAMDirectory内存路径
Analyzer 文本分析器,分析需要锁定的文本。
Document 被索引文件的一个抽象,包括很多Field
Field Document的一个组成部分,具有4个类型:Keyword, UnIndexed, UnStored, Text
最基本的Searcher在实现上大致需要以下几个类
IndexSearcher 这个类负责在IndexWriter生成的索引上进行搜索
Term Term是搜索中的最小单位,它和Indexer中的Field相对应
Query 所有Query的抽象类,
TermQuery 最基本的Query类,使用Term作为搜索单位
Hits 包含一部分搜索结果的指针