文件名称:elasticsearch_dsl:用于 Elasticsearch 的 Python 领域特定语言
文件大小:9KB
文件格式:ZIP
更新时间:2024-07-14 07:29:58
Python
用于弹性搜索的 DSL 动机 近年来软件领域的一个新兴趋势,包括 mongodb、elasticsearch 和 Chef,都是公开一个 JSON 接口来接受复杂的请求。 他们放弃了传统的 SQL 查询,采用 JSON 作为抽象语法树的文本编码。 因此,每当您向这些服务发出请求时,您实际上都是在用 JSON 手工编写抽象语法树。 虽然它灵活且易于扩展,但它也容易出错且难以维护。 对此的常见解决方案是编写领域特定语言。 而对于python的语言设计,一个天真的解决方案是使用Class来表示AST节点,使用Visitor模式来代码生成底层的JSON。 安装 pip install . 例子 嵌套聚合 以下代码片段中的query_py_obj包含生成的 AST。 只是json.dumps(query_py_obj) ,你会得到 JSON 请求到 elasticsearch neste
【文件预览】:
elasticsearch_dsl-master
----elasticsearch_dsl()
--------ast.py(5KB)
--------codegen.py(14KB)
--------__init__.py(652B)
--------visitor.py(2KB)
----.gitignore(704B)
----setup.cfg(112B)
----README.md(2KB)
----LICENSE(2KB)
----AUTHORS(26B)
----setup.py(549B)
----.travis.yml(185B)
----tox.ini(194B)
----testsuites.py(415B)