82 lines
2.3 KiB
Plaintext
82 lines
2.3 KiB
Plaintext
[[introduction]]
|
|
== Introduction
|
|
|
|
The official Node.js client for Elasticsearch.
|
|
|
|
=== Features
|
|
* One-to-one mapping with REST API.
|
|
* Generalized, pluggable architecture.
|
|
* Configurable, automatic discovery of cluster nodes.
|
|
* Persistent, Keep-Alive connections.
|
|
* Load balancing (with pluggable selection strategy) across all available nodes.
|
|
* TypeScript support out of the box.
|
|
|
|
=== Install
|
|
[source,sh]
|
|
----
|
|
npm install @elastic/elasticsearch
|
|
----
|
|
|
|
=== Compatibility
|
|
The minimum supported version of Node.js is `v8`.
|
|
|
|
The library is compatible with all Elasticsearch versions since 5.x, but you should use the same major version of the Elasticsearch instance that you are using.
|
|
----
|
|
# Elasticsearch 7.x
|
|
@elastic/elasticsearch@7
|
|
|
|
# Elasticsearch 6.x
|
|
@elastic/elasticsearch@6
|
|
|
|
# Elasticsearch 5.x
|
|
@elastic/elasticsearch@5
|
|
----
|
|
|
|
==== Install multiple versions
|
|
If you are using multiple versions of Elasticsearch, you need to use multiple versions of the client. +
|
|
In the past, install multiple versions of the same package was not possible, but with `npm v6.9`, you can do that via aliasing.
|
|
|
|
The command you must run to install different version of the client is:
|
|
|
|
[source,sh]
|
|
----
|
|
npm install <alias>@npm:@elastic/elasticsearch@<version>
|
|
----
|
|
|
|
So for example if you need to install `7.x` and `6.x`, you will run
|
|
[source,sh]
|
|
----
|
|
npm install es6@npm:@elastic/elasticsearch@6
|
|
npm install es7@npm:@elastic/elasticsearch@7
|
|
----
|
|
|
|
And your `package.json` will look like the following:
|
|
[source,json]
|
|
----
|
|
"dependencies": {
|
|
"es6": "npm:@elastic/elasticsearch@^6.7.0",
|
|
"es7": "npm:@elastic/elasticsearch@^7.0.0"
|
|
}
|
|
----
|
|
|
|
And finally, you will require the packages from your code by using the alias you have defined.
|
|
|
|
[source,js]
|
|
----
|
|
const { Client: Client6 } = require('es6')
|
|
const { Client: Client7 } = require('es7')
|
|
|
|
const client6 = new Client6({ node: 'http://localhost:9200' })
|
|
const client7 = new Client7({ node: 'http://localhost:9201' })
|
|
|
|
client6.info(console.log)
|
|
client7.info(console.log)
|
|
----
|
|
|
|
Finally, if you want to install the client for the next version of Elasticsearch (the one that lives in Elasticsearch's master branch), you can use the following command:
|
|
[source,sh]
|
|
----
|
|
npm install esmaster@github:elastic/elasticsearch-js
|
|
----
|
|
WARNING: This command will install the master branch of the client, which is not considered stable.
|