【问题标题】:Get a spread result from azure search从 azure search 获取传播结果
【发布时间】:2018-12-19 02:52:22
【问题描述】:

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

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

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

$filter=coinsWon gt 5000 和 coinWon lt 50000

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

我需要从 2000000 条记录中选择 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

有没有人知道如何解决这个问题? :)

【问题讨论】:

  • 澄清一下,您是否要求在特定的coinWon间隔内随机分布搜索结果?
  • 另外,为什么需要这样做?你能描述一下你的整体情况吗?
  • 嗨,是的,搜索结果的随机分布,但不一定是特定的间隔。只要它几乎均匀分布,它就可以正常工作。这将用于我们正在开发的游戏中,针对用户的排名列表。我也向 Microsoft 支持寻求建议,等待他们的回复。如果我们可以在这种情况下使用搜索服务,那就太好了,但如果不能,我会用一个 redis 实例和一些代码来修复它。

标签: azure-cognitive-search


【解决方案1】:

很遗憾,Azure 搜索不支持返回随机分布的搜索结果。如果您认为这是 Azure 搜索应该支持的功能,可以添加建议 here。

【讨论】:

    猜你喜欢
    • 2021-02-04
    • 2021-08-23
    • 2014-08-27
    • 1970-01-01
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-20
    相关资源
    最近更新 更多