一个基于 SwiftNIO 和 AsyncHTTPClient 的 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 8.4 上进行了测试,但在大多数情况下应该适用于旧版本。