在第一部分中主要分析了通过SearchSetting对检索和索引进行控制。本部分主要对于搜索部分LuceneSearch类进行一个分析和阐述。
1. LuceneSearch类
LuceneSearch类主要完成Post的检索功能,通过分析用户输入的搜索参数,反正相关的结果。
public SearchResult search(SearchArgs args) { return this.performSearch(args, this.contentCollector, null); }
1.1 通过PostID进行检索
通过TermQuery,构造检索query,将PostID转化为String类型,返回相关的Document。
1.2performSearch检索
主要通过 StringBuffer criteria 构造 QueryParser ,进行相关的查询。
1.3Lucene中 QueryParser方法分析
查找Lucene 2.4.0的document,其中QueryParser为:
The syntax for query strings is as follows: A Query is a series of clauses. A clause may be prefixed by:
a plus (+
) or a minus (-
) sign, indicating that the clause is required or prohibited respectively; or
a term followed by a colon, indicating the field to be searched. This enables one to construct queries which search multiple fields.
通过+,-来描述查询的语句。
2.总结
jforum里面对于lucene的调用真是精彩。短小精悍。