Я использую Python API реестра событий для запроса статей по ключевым словам в базе данных реестра событий.
У меня есть строка, подобная следующей:
("donald trump" AND (pizza OR pasta) AND NOT ice) OR (samsung AND tv AND (led OR lcd))
который мне нужно преобразовать в формат json, подобный тому, который предлагается в репозитории GitHub (см. в конце страниц здесь и здесь ).Кроме того, я хочу пропустить дубликаты, ограничить сроки, выбрать статьи на основе рейтинга Alexa, указать местоположение источника, местоположение ключевых слов и язык.Надеюсь, что моя интерпретация верна:
{
"$query": {
"$and": [
{
"keywordLoc": "title,body",
"lang": "eng",
"dateStart": "2019-09-01",
"dateEnd": "2019-09-10",
"isDuplicateFilter" = "skipDuplicates",
"sourceLocationUri" = "UK",
"startSourceRankPercentile" = 0,
"endSourceRankPercentile" = 30,
}
],
"$or": [
{
"keyword": {
"$and": ["donald trump"],
"$or": ["pizza", "pasta"],
"$not": ["ice"]
}
},
{
"keyword": {
"$and": ["samsung", "tv"],
"$or": ["led", "lcd"]
}
}
]
}
}
Я действительно борюсь с этим.Можете ли вы помочь мне обобщить и автоматизировать процесс для любого логического поискового запроса, который использует AND, OR и / или NOT?Можете ли вы также помочь мне понять, является ли JSON в моем примере правильным?