Python 用于多个关键字的EventRegistry.org api查询字符串

Python 用于多个关键字的EventRegistry.org api查询字符串,python,api,url,Python,Api,Url,在我的项目中,我必须使用搜索引擎来搜索具有特定关键字的特定文章 问题是,如果我添加多个关键字,它似乎会执行“AND”排序的搜索,而不是“OR”。(仅搜索ipad~8k结果,仅搜索surface~40k结果,搜索ipad surface共得到9个结果) 我使用的是CakePHP3,但我认为语言不是问题,我认为是最终的url。我浏览了Python项目,找到了一些Query.and(params)和Query.OR(params),所以我认为这是可以做到的,但我不懂Python 这是我的网址: htt

在我的项目中,我必须使用搜索引擎来搜索具有特定关键字的特定文章

问题是,如果我添加多个关键字,它似乎会执行“AND”排序的搜索,而不是“OR”。(仅搜索ipad~8k结果,仅搜索surface~40k结果,搜索ipad surface共得到9个结果)

我使用的是CakePHP3,但我认为语言不是问题,我认为是最终的url。我浏览了Python项目,找到了一些Query.and(params)和Query.OR(params),所以我认为这是可以做到的,但我不懂Python

这是我的网址:

http://eventregistry.org/json/article?ignoreKeywords=&keywords=surface%20ipad&lang=eng&action=getArticles&articlesSortBy=date&resultType=articles&articlesCount=20
在这里您可以测试
这是

上的Python repo,至少可以说,他们的文档并没有提供过多的信息

看起来他们正在使用某种查询语言,您可能可以通过调试Python脚本生成的请求来了解情况,但是如果您不熟悉Python,请尝试使用,显然它支持布尔条件(
,后者表示为-),它们组成一个JSON结构:

检查浏览器网络控制台以检查生成的URL,它们将包含一个包含JSON字符串的
query
键,如下所示:

{"$query":{"$and":[{"$or":[{"keyword":{"$and":["ipad"]}},{"keyword":{"$and":["surface"]}}]}]}}
这看起来与博客文章显示的有点不同,但这里显示的更紧凑的变体似乎也适用:

{"$query":{"keyword":{"$or":["ipad","surface"]}}}
因此,最终的URL可能如下所示:

{"$query":{"$and":[{"$or":[{"keyword":{"$and":["ipad"]}},{"keyword":{"$and":["surface"]}}]}]}}
http://eventregistry.org/json/article?action=getArticles&articlesCount=20&articlesSortBy=date&resultType=articles&query={“$query”:{“关键字”:{“$or”:[“ipad”,“表面”]}
http://eventregistry.org/json/article
?行动=获取文章
&articlesCount=20
&articlesSortBy=日期
&结果类型=文章
&query={“$query”:{“关键字”:{“$or”:[“ipad”,“surface”]}
{
  "$query": {
    "keyword": {
      "$or": [
        "ipad",
        "surface"
      ]
    }
  }
}