谷歌自定义搜索API复杂搜索术语

3

我正在编写的程序需要执行复杂的搜索查询。例如:

(蓝色 AND 牛仔裤 AND NOT (便宜 || 昂贵))。 我应该怎么做呢?我知道有一些参数,如hq、exclude和orTerms(或者只是布尔运算符),但我不知道如何将它们组合起来,或者它们是否可以组合在一起。

非常感谢。

1个回答

9

这里描述了参数

q(字符串)
搜索表达式。

exactTerms(字符串)
标识搜索结果中所有文档必须包含的短语。

excludeTerms(字符串)
标识不应出现在搜索结果中任何文档中的单词或短语。

orTerms(字符串)
提供其他搜索术语以在文档中检查,其中搜索结果中的每个文档必须至少包含一个其他搜索术语。

不同的布尔运算符在此处描述

AND
includeTerms=(phrase%20one).(phrase%20two)

NOT
q=key1%20(-key2)

OR
excludeTerms=key1|key2
orTerms=key1|key2

()
lr=-(lang_fr|lang_it)

通过这个,您可以调用q=john%20doe&orTerms=wikipedia|imdb,这将导致包含john AND doe AND ( wikipedia OR imbd )的文档。

我没想到的是q=&exactTerms=(john).(doe).(wikipedia)(46个结果)返回与q="john%20doe%20wikipedia"(46个结果)相同。 我以为它会产生与q="john"%20"doe"%20"wikipedia"(153000个结果)相同的结果。因此,有时更像是连接而不是AND运算符,或者exactTerms不能支持多个关键字。


我从未检查过XML API,因为它仅适用于商业用户,但是似乎它们提供了关于orTerms的相同功能。我删除了我的答案,因为在你的答案之后它并没有提供太多信息。请随意删除您对我的答案的引用。 - Alkis Kalogeris
谢谢,这非常有帮助。 - Lola
@mgutt:你知道orTerms是否会提高查询的排名吗?如果我在orTerms中包含100个术语,它会首先排列具有最多重叠术语的文档吗? - pg2455

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接