我已经创建了与Google Custom Search API的集成,查询看起来相当简单,但会返回意外结果。我的查询基于以下指南:https://developers.google.com/custom-search/docs/structured_search
在我的网站上,我创建了包含我的pagetypeid信息的页面地图(我要在其中过滤)和页面排名(我想要排序)。这些页面由Google编制索引,当我尝试进行简单查询时,json对象包含正确的值。 即: 当我在浏览器中测试时:
https://www.googleapis.com/customsearch/v1?key= [的myKey]&安培; CX = [myCx]&安培; Q = *&安培; ALT = JSON
请注意,我正在搜索q = *(所有内容)。
我收到了包含以下页面地图对象的项目列表:
“pagemap”:{
"page": [
{
"pagetypeid": "12",
}
],
"pageranking": [
{
"score": "5"
}
],...}
我有pagetypeid的对象:12,3以及一系列其他数字......
当我尝试添加过滤或排序时,会出现奇怪的部分。
如果我将上面的查询更改为:
https://www.googleapis.com/customsearch/v1?key= [的myKey]&安培; CX = [myCx]&安培; Q = * +更多:页映射:页面pagetypeid:3 &安培; ALT = JSON
google的结果没有任何匹配,即使第一个查询显示了很多点击的pagetypeid:3。
如果尝试相同的查询,但从pagetypeid:3更改为pagetypeid:12,我会按预期收到匹配。
为什么这些查询的处理方式不同?
排序方式与此相同。搜索*按分数排序返回0,但搜索q = test + sort ...它返回命中。这是我将不同参数传递给Google的组合吗?
修改 是否可能,因为这是一个测试站点,除了我自己的查询之外没有其他流量 - 我的请求的响应在被索引之前已被缓存,因此我的查询返回过时的结果?
是否有可能,当我在具有更多活动的网站上安装此集成时, 索引(由谷歌)更频繁更新,因此,这些“错误”不会出现?
提前致谢。