Преобразование запроса API поискового движка приложения в запросasticsearch - PullRequest
1 голос
/ 28 июня 2019

Я переношу свой существующий проект python 2.7 из движка приложения.В моем коде широко используется API поиска документов .Я использую Elasticsearch , чтобы заменить его вне движка приложения.

Я создал базовый обработчик, чтобы заменить создание и удаление документов обработчиком поиска Elastic.Но я застрял в поиске документов.

В API поиска механизма приложений доступно так много разных типов запросов (см. docs ), и я думаю сделать одну функцию, чтобы заменить эти запросы эластичнымизапрос, совместимый с поиском.

Например, простой запрос API поиска выглядит следующим образом:

search_query = "forFromDate : 2019-06-01 forToDate : 2019-07-01"

, но такой же запрос для упругого поиска будет выглядеть так:

es_query = {
    "query": {
        "bool": {
            "must": [
                {
                    "match": {
                        "forToDate": "2019-07-01"
                    }
                },
                {
                    "match": {
                        "forFromDate": "2019-06-01"
                    }
                }
            ]
        }
    }
}

Я могу добиться такого простого преобразования запросов с помощью простой функции python, но для сложных запросов им сложно управлять.Есть идеи как конвертировать такие запросы ??Любая помощь будет оценена.

...