【发布时间】:2016-08-03 23:01:44
【问题描述】:
我的问题是找到获取最后(时间戳)索引的 Lucene 文档的最快方法。
文档中的字段如下所示:
// Index file contents
Field contentField = new Field(
FieldContent,
message.content,
Field.Store.YES,
Field.Index.ANALYZED,
Field.TermVector.YES);
// The id of the document
Field messageIdField = new Field(
FieldMessageId,
message.serverMessageId,
Field.Store.YES,
Field.Index.NOT_ANALYZED);
// The dateTime that the document was created
Field timeStampField = new Field(
FieldTimeStamp,
message.creationDate.ToString(),
Field.Store.YES,
Field.Index.NOT_ANALYZED);
目前我认为一种可行的解决方案是按文档的 timestampField 对索引中的所有文档进行排序,然后选择最上面的文档。有没有我可以制作的更适合此目的的搜索查询?
【问题讨论】:
-
为什么要这样做?
-
好吧,每当我索引一条消息时,我都想将消息的 TF-IDF 与前一个进行比较。为此,我需要将上一条消息的文档 ID 插入到索引中。因此,我认为有必要进行搜索,因为无法保证 Lucene 文档 ID。
标签: c# .net lucene lucene.net