Я переношу свой существующий проект 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, но для сложных запросов им сложно управлять.Есть идеи как конвертировать такие запросы ??Любая помощь будет оценена.