我有一个asp.net项目,在这个项目中我添加了Lucene.net。可搜索的数据来自数据库。在应用程序构建中,我有一个方法可以将所有数据添加到索引中。有没有办法只添加一次数据,然后只删除和更新文档?索引的生命周期有多长?我应该在应用程序构建中每次都添加数据吗?
g6ll5ycj1#
我不太清楚你所说的“生命周期”是什么意思。索引中的数据将一直存在,直到你删除它。是的,有从索引中删除文档和更新索引中文档的方法。writer.UpdateDocumentwriter.UpdateDocument个值得一提的是,writer.UpdateDocument最终会导致Lucene删除文档,然后将新版本添加到索引中。虽然这是幕后发生的事情,但当需要更新索引中的文档时,仍然可以调用writer.UpdateDocument,因为这显示了代码的意图。因此,如果你的代码只能够根据需要添加新文档、删除文档和更新文档,那么就没有理由不断地完全重建索引。Lucene支持所有这些操作。
writer.UpdateDocument
1条答案
按热度按时间g6ll5ycj1#
我不太清楚你所说的“生命周期”是什么意思。索引中的数据将一直存在,直到你删除它。
是的,有从索引中删除文档和更新索引中文档的方法。
writer.UpdateDocument
writer.UpdateDocument
个值得一提的是,
writer.UpdateDocument
最终会导致Lucene删除文档,然后将新版本添加到索引中。虽然这是幕后发生的事情,但当需要更新索引中的文档时,仍然可以调用writer.UpdateDocument
,因为这显示了代码的意图。因此,如果你的代码只能够根据需要添加新文档、删除文档和更新文档,那么就没有理由不断地完全重建索引。Lucene支持所有这些操作。