Bing WebSearch API的查询长度限制是什么?
鉴于Bing API文档主要由错误缠绕的双页Word文档组成,因此我一直无法找到在线答案。反复试验已经产生了不一致的结果,并且鉴于查询花费金钱,我宁愿不必再猜测和检查。Bing WebSearch API的查询长度限制是什么?
什么是新的'Azure marketplace'Bing WebSearch API的长度限制?我知道存在某种限制,因为长时间的查询往往会返回,“数据提供商的服务未接受请求,团队正在调查此问题,我们对此造成的不便深表歉意。”但是,无论是字符还是单词,发生这种情况的查询长度都会根据输入的查询而变化。我正在使用诸如site:和instreamset:等高级操作符来进行相当复杂的查询,因此要缩小限制的范围非常困难。即:我已经成功地查询了超过1800个字符,并且我已经让它们失败,但少于1200个字符。
得到了微软的支持答案:
它看起来像抵入数据市场有10240然而查询 串限制的请求;内容提供商(在这种情况下为 必应搜索)有2048个字符的限制。
请注意,在这种情况下,“查询字符串”是整个URL,而不仅仅是“查询”参数。
一些短于2048个字符的网址出现失败的原因是由于空间的编码。在将查询传递给Bing之前,Azure数据市场会对其重新编码,并使用%20而不是+来对空格进行编码。因此,要检查您的请求URL是否在2048个字符以内,请确保对所有特殊字符(包括空格)进行十六进制编码。
更新这个答案Bing搜索API的新认知服务(V5.0)版本:
从https://msdn.microsoft.com/en-us/library/dn760794.aspx#URL%20to%20Send%20Requests%20To:
注:最大URL长度为2,048个字符。为确保您的URL长度不超过限制,查询参数的最大长度应小于1,500个字符。如果URL超过2048个字符,则服务器将返回404找不到。
我试了一下,似乎2048的限制是从路径+查询字符串计算出来的。即'/搜索?Q = ...'。 Bing非常满意2047个字符,但回复404没有找到2048个字符。 – 2013-10-19 15:41:02
是的,这是正确的。这是包含重要路径和查询字符串的整个URL。抛出我的是,即使你将它编码为+的空格,它将它们转换为%20,并将其计为三个字符。由于我的查询时间很长,有很多空间,这就产生了很大的不同。 – 2013-10-20 08:24:37