Mein Problem ist es, den schnellsten Weg zu finden, um das letzte (zeitstempelweise) indizierte Lucene-Dokument zu erhalten.Lucene.NET holt das zuletzt indizierte Dokument
Hier ist, was die Felder in dem Dokument wie folgt aussehen:
// 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);
Derzeit nehme ich an eine tragfähige Lösung ist durch die timestampField der Dokumente, alle Dokumente im Index zu sortieren und nur die oberste holen. Kann ich eine Suchanfrage stellen, die für diesen Zweck besser geeignet wäre?
warum möchte man das machen? – Mysterion
Nun, wenn ich eine Nachricht indexiere, möchte ich die TF-IDF der Nachricht mit der vorherigen vergleichen. Dazu benötige ich die Dokument-ID der vorherigen Nachricht, die in den Index eingefügt wurde. Daher glaube ich, dass eine Suche notwendig ist, da es keine Garantien für die Lucene Dokumenten ID gibt. –