c# - Azure 搜索索引 - 查找项目列表

标签 c# azure azure-cognitive-search azure-search-.net-sdk

我们正在使用搜索索引来运行我们的 API 之一。索引的数据是使用从数据库提取数据的 Azure 函数填充的。我们可以看到数据库和搜索服务中的记录数量是不同的。有什么方法可以获取搜索服务中的键列表,以便我们可以与数据库进行比较并查看缺少哪些键?

问候,

约翰

最佳答案

Azure 搜索查询 API 专为搜索/筛选场景而设计,它不提供遍历所有文档的有效方法。

也就是说,您可以通过按顺序扫描键来合理地做到这一点:如果索引中有一个既可过滤又可排序的字段(键字段或另一个字段),您可以使用 $select 仅提取键对于每个文档,一次 1000 个,按该字段排序。检索前 1000 个后,不要执行 $skip (这会将您限制为 100,000),而是使用对字段使用大于的过滤器,并使用您在上一个响应中看到的最高值。这将使您能够以合理的性能遍历整个集合,尽管一次执行 1000 次需要时间。

关于c# - Azure 搜索索引 - 查找项目列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45650040/

相关文章:

c# - 通过序列化将数据从 C# 传输到 Java

c# - 窗口显示红色 x,但我找不到错误通知

php - Azure 应用服务文件访问

ios - ADFS(3.0)与iPad应用程序集成以实现SSO实现

azure - 我可以使用 OAuth token 作为 Ocp-Apim-Subscription-Key 的替代品吗?

azure-cognitive-search - 为什么 AzureSearch SDK 会因传输连接问题而自发失败?

C# 将旧接口(interface)函数携带到新接口(interface)

Edm.Int32 和 Collection(Edm.String) 上的 Azure 搜索筛选性能

.net - Azure 搜索 - 在单个搜索查询中查询所有索引

c# - ProductName 隐藏 System.Windows.Forms.Control.ProductName