我有一个带有文档的 lucene 索引——它们都包含存储 DateTime 值的字段。什么是推荐/最有效的方法来提取具有最高价值的文档。整数值的外观如何?当然,我假设使用DateTools.DateToString
或类似方法将值转换为字符串。
问问题
522 次
2 回答
3
详细说明 Jf Beaulac 的答案,此类代码的示例可能如下所示。请注意,“CreatedAt”字段用于存储 DateTime 值。
//providing query that will not filter any documents
var query = new TermRangeQuery("CreatedAt", DateTools.DateToString(DateTime.MinValue, DateTools.Resolution.MINUTE), DateTools.DateToString(DateTime.MaxValue, DateTools.Resolution.MINUTE), false, false);
//providing sorting on 'CreatedAt' and returning just one result
var createdAtSerchResults = searcher.Search(query, null, 1, new Sort(new SortField("CreatedAt", SortField.LONG, true)));
//extracting CreatedAt value from returned document
var documentWithMaxCreatedAt = searcher.Doc(createdAtSerchResults.ScoreDocs.First().Doc);
var result = DateTools.StringToDate(documentWithMaxCreatedAt.Get("CreatedAt"));
于 2012-12-20T01:30:25.783 回答
2
于 2012-12-19T03:30:24.893 回答