Azure搜索单个查询子句限制是否适用于`search.in`过滤器子句?

时间:2019-01-23 22:23:32

标签: azure-search

我想使用Azure搜索的search.in过滤子句进行安全性调整。我预计需要将多达10,000个ID传递给该子句(通常不是,但是有时)。

天青搜索文档指出,单个查询子句限制为32kb:https://docs.microsoft.com/en-us/rest/api/searchservice/lucene-query-syntax-in-azure-search#bkmk_querysizelimits

我担心会达到这个极限,所以我对大型(100,000个项目)search.in查询进行了猛增,它看起来绝对不错。

但是我担心我违反了文档中所建议的内容。 While the documentation does say that a filter with a search.in is ideal for security trimming,使用大量id来使用search.in似乎很安全吗?

1 个答案:

答案 0 :(得分:1)

32 KB的限制适用于完整Lucene查询中的术语,不适用于过滤器(除非通过search.ismatchsearch.ismatchscoring将Lucene查询与过滤器混合使用)。我们专门设计了search.in来处理像您这样的情况。

有关更多信息,请参见Security Trimming in Azure Search