реестр событий python - анализировать логическую строку запроса в json - PullRequest
0 голосов
/ 27 сентября 2019

Я использую 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 в моем примере правильным?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...