Elasticsearch NIO 客户端

一个基于 SwiftNIOAsyncHTTPClient 的 Swift Elasticsearch 客户端。 如果您有兴趣将其与 AWS 一起使用,您可能需要查看 Soto Elasticsearch NIO 客户端

安装和使用

首先,在您的 Package.swift 中的 dependencies 数组中将该库添加为依赖项

.package(url: "https://github.com/brokenhandsio/elasticsearch-nio-client.git", from: "0.1.0"),

然后,将依赖项添加到您需要的 target 中

.target(
    name: "App",
    dependencies: [
        // ...
        .product(name: "ElasticsearchNIOClient", package: "elasticsearch-nio-client")
    ],
)

创建 ElasticsearchClient 的实例取决于您的环境,但您应该能够根据您的需求来解决它。 例如,对于 Vapor,您可以这样做

let elasticsearchClient = ElasticsearchClient(httpClient: req.application.http.client.shared, eventLoop: req.eventLoop, logger: req.logger, host: host)

支持的功能

目前,该库支持

如果您想添加额外的功能,请打开一个 issue 并提交 PR。 任何贡献都将受到衷心感谢!

Elasticsearch 版本

该库已在 Elasticsearch 8.4 上进行了测试,但在大多数情况下应该适用于旧版本。