我正在编写的程序需要执行复杂的搜索查询。例如:
(蓝色 AND 牛仔裤 AND NOT (便宜 || 昂贵))。 我应该怎么做呢?我知道有一些参数,如hq、exclude和orTerms(或者只是布尔运算符),但我不知道如何将它们组合起来,或者它们是否可以组合在一起。
非常感谢。
我正在编写的程序需要执行复杂的搜索查询。例如:
(蓝色 AND 牛仔裤 AND NOT (便宜 || 昂贵))。 我应该怎么做呢?我知道有一些参数,如hq、exclude和orTerms(或者只是布尔运算符),但我不知道如何将它们组合起来,或者它们是否可以组合在一起。
非常感谢。
这里描述了参数。
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
不能支持多个关键字。