【问题标题】:Filter by array of ids按 id 数组过滤
【发布时间】:2017-04-12 05:10:17
【问题描述】:

我计划通过 id 数组实现搜索过滤器。这个数组最多可以有 1000 - 10000 个 id。 推荐的基于 id 的过滤方式是这样的吗?

$filter=Id eq 'ID1' or Id eq 'ID2'

这是昂贵的性能恶习吗? 这是昂贵的价格恶习吗?

【问题讨论】:

  • 您能否提供有关您的方案的更多详细信息?您是否尝试使用过滤器或其他方式实现文档级安全性...?

标签: azure-cognitive-search


【解决方案1】:

由于 Azure 搜索的 filter size limits,目前无法在单个查询中按这么多 ID 进行筛选。如果您按几百个 ID 进行过滤,这是可能的,但数千个肯定行不通。

我们正在考虑放宽限制或提供alternative mechanisms 的方法,但在不久的将来不会有任何变化。

【讨论】:

  • 您好,感谢您的回复,数百的限制是多少? 900?我想根据用户最喜欢的 id 进行查询。这个价格贵吗?
  • 价格基于专用容量。没有容量可以绕过过滤器限制;它们是无关的问题。限制并不准确(它基于查询的整体大小和复杂性,而不是特定的子句数量),但它可能比 900 更接近 300-400。您需要施加此限制(或者最好是更低一)在您的用户最喜欢的 ID 列表中,以使这项工作正常进行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-20
  • 1970-01-01
  • 1970-01-01
  • 2021-12-31
  • 1970-01-01
  • 2021-10-20
相关资源
最近更新 更多