public IEnumerable<SearchResult> Search(string keyword, string[] fieldNames, int pageSize, int pageIndex)
{
if (fieldNames.Length == )
{
return null;
} // 计算开始的索引
int start = pageSize * (pageIndex - ); // 需要的记录数
int count = start + pageSize; // 结果集
TopScoreDocCollector results = TopScoreDocCollector.Create(count, false); try
{
var tem = new MultiPhraseQuery(); QueryParser qp = new MultiFieldQueryParser(LuceneVersion.Version.LUCENE_30, fieldNames, analyzer);
Query query = qp.Parse(keyword);
// 查询填充结果集
searcher.Search(query, results);
//总条数
var totalCount = results.TopDocs().TotalHits;
//分页后的数据
TopDocs topDocs = results.TopDocs(start, pageSize); return BuildSearchResult(topDocs, searcher);
}
catch (Exception ex)
{
throw ex;
}
}