brokenhandsio/elasticsearch-nio-client
A Swift Elasticsearch Client built on top of SwiftNIO
Installation and Usage
First add the library as a dependency in your dependencies array in Package.swift:
.package(url: "https://github.com/brokenhandsio/elasticsearch-nio-client.git", from: "0.1.0"),Then add the dependency to the target you require it in:
.target(
name: "App",
dependencies: [
// ...
.product(name: "ElasticsearchNIOClient", package: "elasticsearch-nio-client")
],
)Creating an instance of ElasticsearchClient depends on your environment, but you should be able to work it out depending on what you need. For Vapor, for example, you'd do something like:
let elasticsearchClient = ElasticsearchClient(httpClient: req.application.http.client.shared, eventLoop: req.eventLoop, logger: req.logger, host: host)Supported Features
Currently the library supports:
- Document create
- Document update
- Document delete
- Document search
- Document count
- Document retrieve
- Bulk create/update/delete/index
- Index delete
- Index exists
- Scripting
If you'd like to add extra functionality, either open an issue and raise a PR. Any contributions are gratefully accepted!
Elasticsearch Version
The library has been tested again Elasticsearch 8.4, but should work for the most part against older versions.
Package Metadata
Repository: brokenhandsio/elasticsearch-nio-client
Stars: 33
Forks: 4
Open issues: 1
Default branch: main
Primary language: swift
License: MIT
README: README.md