3个不稳定版本

0.5.0 2021年7月24日
0.4.1 2021年3月15日
0.4.0 2021年3月14日

数据库接口 中排名 #2509

MIT/Apache

375KB
5.5K SLoC

elastiql

Latest Version Docs CI

为Rust提供的具有观点的Elasticsearch查询语言。

此库与官方的Elasticsearch crateasync-graphql crate配合使用得很好。它旨在提供一种比官方crate更具电池包的方法来处理Elasticsearch(参见:elastic/elasticsearch-rs#75)。

项目状态

此项目尚未达到 v1.0.0。因此,您可能会遇到一些破坏性更改。它也尚未(尚)发布到 crates.io,但很可能未来会发布。

我们为大多数Elasticsearch 聚合查询 DSL 和其他各种请求/响应类型定义了类型(可选地使用 builder 方法)。

用法

此crate允许进行更符合习惯的请求/响应处理,例如。

let query = Request::builder()
    .query(TermQuery::new("id", "test_user_id"))
    .size(1)
    .version(true)
    .highlight(HighlightOptions::default())
    .build();

有关更多示例,请参阅示例目录。

与Elasticsearch REST API的差别

由于此项目预期主要通过GraphQL使用,因此需要对符合习惯的RustElasticsearchGraphQL进行一些妥协。例如,聚合响应的结构并不完全符合Elasticsearch,并且大大简化了。

许可证

根据您的选择,此软件受Apache License,版本 2.0MIT许可证许可。
除非您明确声明,否则您提交给 elastiql 的任何有意包含的贡献,如 Apache-2.0 许可证所述,应按上述方式双重许可,不附加任何额外条款或条件。

依赖项

~0.9–13MB
~164K SLoC