我有一个API,该API使用以下代码将多行数据添加到我们的搜索索引中:
var documentList = new List<IndexBase> { document };
var batch = IndexBatch.Upload(documentList);
await searchIndexClient.Documents.IndexAsync(batch);
API(在插入数据之后)检查最初在API调用中传递的文档计数和“搜索索引”中存在的文档计数。但是,计数并不总是相同。
在插入搜索后在API上添加一些延迟,然后再次查询搜索索引会给出正确的计数。向搜索索引中插入数据似乎有所滞后。
这是预期的行为吗?
我正在使用Microsoft.Azure.Search.3.0.4 DLL。
答案 0 :(得分:0)
实际上,这是预期的行为–就像您观察到的那样,经过短暂的延迟后,可以看到索引到服务的文档以供查询。 尽管延迟取决于服务拓扑和索引负载,但是Azure搜索确实可以确保成功为索引建立的文档最终对于搜索请求是可见的。
有关更多详细信息,请阅读Add, Update or Delete Documents (Azure Search Service REST API)文档的“ 回复”部分。
我希望这会有所帮助。