2
我想执行DocumentDB查询,看起来像SELECT * FROM c其中c.teams IN(@teamsList),包含(c.text, “一些字符串”)DocumentDB查询与Azure的搜索领域
问题在于上面的查询计算密集并且几乎超过了我们的S3收集限制(这个查询花费了2400RU,我们的数据集正在快速增长,我们将很快达到包含扫描限制)。
我知道,Azure的搜索是一种更有效的方式或搜索可转位字段。我的问题是如何有效地将Azure搜索的结果与其他查询字段合并,在我的示例中,通过团队列表限制它。我们有兴趣公开一个“查询构建器”(类似示例here),其中CONTAINS是任何字段上的允许操作数。
如果给定的查询超时对于超出您的预算RU,它会用一个延续令牌,您可以使用再次回到了更多的数据返回。这有帮助吗?虽然Azure Search对您的CONTAINS子句更有效,但我不确定IN子句中是否会更好/更差。您可能想要针对您的数据集进行基准测试。 –
关于第一个DocumentDB查询,你知道有多少个文档与查询中的查询过滤器相匹配吗? IN子句将通过索引进行过滤。如果您可以发布活动ID,我们可以调查为什么需要2400 RU。此外,如果您只需为查询构建器返回一页结果,则可以通过限制默认显示的结果数量来显着减少RU。 –
查询SELECT TOP 100 * FROM c其中CONTAINS(c.details.title, “测试”)返回13分的结果和在天青门户消耗2409.98的RU。活动ID:6d966ad4-a196-4255-A10B-334a753a89e0 – Valchris