2017-04-11 71 views
0

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

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

这是昂贵的性能副作用吗? 这是昂贵的价格副?

+0

你能提供关于你的场景的更多细节吗?您是否试图通过过滤器或其他方法来实现文档级安全性? –

回答

1

由于Azure搜索的filter size limits,目前无法通过单个查询中的许多ID进行过滤。如果你通过几百个ID进行过滤,这将是可能的,但数千个绝对不会工作。

我们正在考虑放宽限额或提供alternative mechanisms的方法,但不会在近期内改变。

+0

嗨,谢谢你的回复,数以百计的限额是多少? 900?我想根据用户最喜欢的ID进行查询。这在价格上是昂贵的吗? – doorman

+1

价格基于专用能力。没有数量的容量会绕过滤波器的限制;他们无关紧要。这个限制并不准确(它基于查询的整体大小和复杂度,而不是特定数量的子句),但它可能比900-400更接近300-400。您需要强制设置此限制(或者最好是较低一个)在您的用户最喜爱的ID列表,以使这项工作。 –