ravendb并行动态查询结果在第一次命中时总是过时的

ravendb并行动态查询结果在第一次命中时总是过时的,ravendb,ravendb-http,Ravendb,Ravendb Http,我使用的是RavendbHTTPAPI,无法使两个并行动态查询返回陈旧的结果。即使文档是很久以前创建的。第一次击中总是陈旧的,没有适当的结果。第二个返回正确的结果。当我只运行一个查询时,一切正常 请求看起来像这样 indexes/dynamic/Definition/query=Type%253A%2522ServiceRequest%2522%2520 indexes/dynamic/Definition/query=Type%253A%2522Customer%2522%2520 我试图用

我使用的是RavendbHTTPAPI,无法使两个并行动态查询返回陈旧的结果。即使文档是很久以前创建的。第一次击中总是陈旧的,没有适当的结果。第二个返回正确的结果。当我只运行一个查询时,一切正常

请求看起来像这样

indexes/dynamic/Definition/query=Type%253A%2522ServiceRequest%2522%2520
indexes/dynamic/Definition/query=Type%253A%2522Customer%2522%2520

我试图用截止参数详细说明,但没有成功。具有now+-year值的截止值在第一次命中时仍然会导致过时。

您正在运行一个动态查询。可能发生的情况是,第一个查询正在生成索引,第二个查询在创建索引的过程中看到了索引,但没有给出任何结果(它只是得到了索引)。 然后,第一个查询在等待索引重建后返回


这是预期的&是设计的。一般来说,除非有总是来来去去去的动态索引,否则不应该看到这一点。如果是这种情况,您应该将它们升级为自动索引。

是的,我理解为什么会发生这种情况。我不明白的是为什么我不能指定查询在这里等待非陈旧结果。这意味着动态查询不支持wait for non stale?但无论如何,你是对的,升级到自动索引解决了这个问题。谢谢。