Lucene 标记可以经常更改的标记文档的索引策略
除了文本内容之外,我的文档还有可以搜索的标签。现在的问题是,标记经常更改,每次添加或删除标记时,我都必须调用UpdateDocument,这对于数百个文档来说是非常缓慢的Lucene 标记可以经常更改的标记文档的索引策略,lucene,lucene.net,Lucene,Lucene.net,除了文本内容之外,我的文档还有可以搜索的标签。现在的问题是,标记经常更改,每次添加或删除标记时,我都必须调用UpdateDocument,这对于数百个文档来说是非常缓慢的 对于经常更改并需要使用Lucene搜索的标签,是否有性能良好的存储策略?我一直在考虑将标记保存在单独的文档中,以使它们更小,但我不知道如何快速搜索标记和内容。将[tag,UID]对存储在关系数据库中。每次添加或更新标记时,都会在数据库的该表中添加和更新该标记 当执行包含标记数据(存储在数据库中)和内容(在Lucene中编制索引
对于经常更改并需要使用Lucene搜索的标签,是否有性能良好的存储策略?我一直在考虑将标记保存在单独的文档中,以使它们更小,但我不知道如何快速搜索标记和内容。将[tag,UID]对存储在关系数据库中。每次添加或更新标记时,都会在数据库的该表中添加和更新该标记 当执行包含标记数据(存储在数据库中)和内容(在Lucene中编制索引)的Lucene搜索时,需要将结果合并在一起。一种方法是:
我们在我们的系统中实现了这种方法,并且效果很好。不过,出于性能原因,您可能需要在数据库前面放置缓存。步骤(3)的细节将因您使用的Lucene版本而异。在关系数据库中存储[tag,UID]对。每次添加或更新标记时,都会在数据库的该表中添加和更新该标记 当执行包含标记数据(存储在数据库中)和内容(在Lucene中编制索引)的Lucene搜索时,需要将结果合并在一起。一种方法是:
我们在我们的系统中实现了这种方法,并且效果很好。不过,出于性能原因,您可能需要在数据库前面放置缓存。步骤(3)的详细信息将因您使用的Lucene版本而异。谢谢!将缓存放在数据库中标记的前面应该可以工作。谢谢!将缓存放在数据库中标记的前面应该可以工作。