如何使用索引中的字段来删除条目?

发布于 2024-07-12 22:06:40 字数 763 浏览 17 评论 0原文

我正在使用 Lucene.NET 在 VB 9 中开发桌面搜索引擎,

我希望删除更新的文件并创建一个新条目。

索引存储完整的文件路径和最后修改日期。

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()

我有以下疑问:

  1. 如何使用 modified 字段中的值来检查特定文件的索引条目是否旧? IndexReader 的什么功能允许我执行此操作?

  2. 如何获取函数deleteDocument()的文档编号(docNum)

I'm developing a Desktop Search Engine in VB 9 using Lucene.NET

I wish to delete and create a new entry for a file that is updated.

The Index stores complete file path and the last modified date.

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))
.
.

I'm using the IndexReader to check if a file is present in the Index (to avoid re-indexing the same files).

Dim reader As IndexReader = IndexReader.Open(SearchForm.IndexFolderTextBox.Text)

If reader.DocFreq(New Term("path", filepath)) = 0 Then
     addFile(filepath)
End If

reader.Close()

I have the following doubts:

  1. How do I use the value in the modified field to check if the Index entry for a particular file is old? What function of IndexReader will allow me to do this?

  2. How do I get the document number (docNum) for the function deleteDocument()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怪我太投入 2024-07-19 22:06:40

要回答您的第二个问题,请使用以下 IndexReader 方法:

public int deleteDocuments(Term term)

这样您就不需要文档编号。

To answer your second questions, use the following IndexReader method:

public int deleteDocuments(Term term)

so you won't need the document number.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文