adonis-v5-elasticsearch
v1.0.5
Published
Elasticsearch Service Provider for AdonisJS v5 with additional features
Maintainers
Readme
Adonis Elastic Search
This service provider makes it easier to integrate and to work with the official Elasticsearch client library for Node.js
It is built on top of @elastic/elasticsearch and proxies all the methods keeping them 100% original. So you can follow official Elasticsearch API reference.
Installation
npm install adonis-v5-elasticsearchSet the environment variable
Make sure you set the ELASTIC_SEARCH_URL environment variable in your .env file. This will be used to access your Elasticsearch server.
ELASTIC_SEARCH_URL=http://localhost:9200Registering the provider
Make sure to register the provider inside .adonisrc.json file.
{
// ...
"providers": {
// "...",
"adonis-v5-elasticsearch/providers/ElasticProvider"
},
// ...
}That's all! Now you can use the provider by pulling it from IoC container
import { ApiResponse } from "@elastic/elasticsearch";
import Elastic from "@ioc:Elastic";
const response: ApiResponse = await Elastic.search({
index: "my-index",
body: {
query: {
match_all: {},
},
},
});Paginate results the Adonis way!
The Elastic.paginate() helper will paginate the results and return the same payload as Lucid's pagination method.
import { ApiResponse } from "@elastic/elasticsearch";
import Elastic from "@ioc:Elastic";
const response: ApiResponse = await Elastic.search({
index: "my-index",
body: {
query: {
match_all: {},
},
},
});
return Elastic.paginate(response);Contributing
You are more than welcome to contribute to adonis-v5-elasticsearch. Just submit changes via pull request and I will review them before merging.
Fork it! 🤙
Create your feature branch:
git checkout -b my-new-featureCommit your changes:
git commit -am "Add some feature"Push to the branch:
git push origin my-new-featureSubmit a pull request 👍
License
The Adonis Elasticsearch Service Provider is MIT licensed.
