3个不稳定版本
0.5.0 | 2021年7月24日 |
---|---|
0.4.1 | 2021年3月15日 |
0.4.0 | 2021年3月14日 |
在 数据库接口 中排名 #2509
375KB
5.5K SLoC
elastiql
为Rust提供的具有观点的Elasticsearch查询语言。
此库与官方的Elasticsearch crate 和 async-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使用,因此需要对符合习惯的Rust、Elasticsearch和GraphQL进行一些妥协。例如,聚合响应的结构并不完全符合Elasticsearch,并且大大简化了。
许可证
根据您的选择,此软件受Apache License,版本 2.0或MIT许可证许可。除非您明确声明,否则您提交给 elastiql 的任何有意包含的贡献,如 Apache-2.0 许可证所述,应按上述方式双重许可,不附加任何额外条款或条件。
依赖项
~0.9–13MB
~164K SLoC