Я разрабатываю поисковую систему для настольных компьютеров в VB 9 с использованием Lucene.NET.
Я хочу удалить и создать новую запись для обновляемого файла.
Индекс хранит полный путь к файлу и дату последнего изменения.
doc.Add(New Field("path", filepath, Field.Store.YES, Field.Index.UN_TOKENIZED))
doc.Add(New Field("modified", New FileInfo(filepath).LastWriteTime, Field.Store.YES, Field.Index.UN_TOKENIZED))
.
.
Я использую IndexReader, чтобы проверить, присутствует ли файл в индексе (чтобы избежать повторной индексации одних и тех же файлов).
Dim reader As IndexReader = IndexReader.Open(SearchForm.IndexFolderTextBox.Text)
If reader.DocFreq(New Term("path", filepath)) = 0 Then
addFile(filepath)
End If
reader.Close()
У меня есть следующие сомнения:
Как использовать значение в поле
modified
, чтобы проверить, устарела ли запись индекса для определенного файла? Какая функция IndexReader позволит мне это сделать?Как получить номер документа (docNum) для функции deleteDocument()