我想使用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似乎很安全吗?
答案 0 :(得分:1)
32 KB的限制适用于完整Lucene查询中的术语,不适用于过滤器(除非通过search.ismatch
或search.ismatchscoring
将Lucene查询与过滤器混合使用)。我们专门设计了search.in
来处理像您这样的情况。
有关更多信息,请参见Security Trimming in Azure Search。