【发布时间】:2015-04-22 18:01:59
【问题描述】:
即使在谷歌搜索之后,我似乎也无法找到答案。
我们遇到了导致我们的应用被锁定的问题。部分原因是我们有未完成的WaitForNonStaleResultsAsOfNow 调用,我们正在等待发布修复(即我们已经删除了它们),但这也是由所有索引的完全重建引起的。我相信导致重建所有索引的触发器是当我们对一个(类型)文档进行更改时。例如:
我们有一个名为“代理”的模型。当我们的用户登录时,我们使用他们的“AgencyId”来为他们提供特定于他们的数据。因此,大多数其他文档(例如“展示位置”、“发票”等)都有一个“AgencyId”字段。
代理模式类似于:
public class Agency
{
public string Id {get;set;}
public string AgencyName {get;set;}
// ...
}
Placement 示例(和其他机构特定文件)
public class Placement
{
public string Id {get;set;}
public string AgencyId {get;set;} // relates to Agency Document
// ...
}
我们有一项功能,允许管理员将文档 (PDF) 上传到代理机构的资料中。我们将 PDF 存储在 DFS 中,并将代理模型上的“DocumentPath”属性设置为保存位置。
我的问题:更新代理记录会导致重建所有相关文档的索引吗?即我知道AgencyIndex 会重建,但这会导致PlacementIndex(和所有其他相关索引)也重建吗?
更多信息:
Raven Client Build#:2.5.2952
Raven Server Build#:2.5.2952 (RavenHQ)
另外值得注意的是:我们正在努力尽快升级到 RavenDB 3.0,但这是一个真实存在的问题,我需要了解它为什么会发生!
【问题讨论】:
-
总是很高兴看到有人投反对票并现在解释原因。 叹息
-
我为你解决了问题。我也需要一个答案!