首页 > 解决方案 > 从 azure search 获取传播结果

问题描述

我需要一些帮助来使 Azure 搜索服务为我提供正确的结果集。

假设我使用过滤器运行查询,结果集大于 1000 条记录,则搜索服务将返回下一页的链接。这种限制是可以理解的,但也带来了问题。

例如,我将使用如下过滤器查询我们的用户索引:

$filter=coinsWon gt 5000 和 coinWon lt 50000

此查询可能返回 2 000 000 条记录。从这 2 000 000 条记录中,我只需要 25 条记录。我不能使用 Top=25 因为那只会给我最接近 5000 或最接近 50000 的 25 条记录。

我的需要是从 2 000 000 条记录中选择 25 条记录,这些记录分布在 5000 到 50000 个硬币韩元之间。例如,coinWon 的记录等于 5 000、7 000、9 100、11 000、12 250、15 000、15 500、17 000、20 000、21 000、23 000、24 500、27 000、35 000、40 000 , 42 000, 45 000, 47 000, 48 000, 50 000。

由于该服务将结果集限制为 1000 条记录,因此我也无法在我们的 API 中开发此功能。即使微软取消了 1000 条记录的限制,将 2 000 000 条记录返回给我们的 API,然后从记录集中执行传播选择仍然是非常愚蠢的。能够向搜索服务请求传播记录集更有意义:

$filter=coinsWon 5000-50000 点差$top=25

有没有人对如何解决这个问题有一个聪明的想法?:)

标签: azure-cognitive-search

解决方案


不幸的是,Azure 搜索不支持返回随机分布的搜索结果。如果您认为这是 Azure 搜索应支持的功能,可以在此处添加建议。


推荐阅读