将应用程序引擎搜索API查询转换为elasticsearch查询

2024-09-27 00:23:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在从appengine迁移现有的python2.7项目。在我的代码中,大量使用了Document Search API。我使用Elasticsearch在appengine外部替换它。你知道吗

我创建了一个基本处理程序,用弹性搜索处理程序替换文档的创建和删除。但我一直在查文件。你知道吗

在appenginesearchapi中,有太多不同类型的查询可用(请查看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函数实现这种简单的查询转换,但是对于复杂的查询,很难管理。你知道如何转换这些查询吗??任何帮助都将不胜感激。你知道吗


Tags: 项目函数代码文档api处理程序searchmatch

热门问题