Files
elasticsearch-js/docs/reference/getting-started.md
Colleen McGinnis c3f987caaf fix image paths for docs-assembler (#2753)
Co-authored-by: Josh Mock <joshua.mock@elastic.co>
2025-04-16 12:17:36 -05:00

3.3 KiB

mapped_pages
mapped_pages
https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html
https://www.elastic.co/guide/en/serverless/current/elasticsearch-nodejs-client-getting-started.html

Getting started [getting-started-js]

This page guides you through the installation process of the Node.js client, shows you how to instantiate the client, and how to perform basic Elasticsearch operations with it.

Requirements [_requirements]

  • Node.js version 14.x or newer
  • npm, usually bundled with Node.js

Installation [_installation]

To install the latest version of the client, run the following command:

npm install @elastic/elasticsearch

Refer to the Installation page to learn more.

Connecting [_connecting]

You can connect to the Elastic Cloud using an API key and the Elasticsearch endpoint.

const { Client } = require('@elastic/elasticsearch')
const client = new Client({
  node: 'https://...', // Elasticsearch endpoint
  auth: {
    apiKey: { // API key ID and secret
      id: 'foo',
      api_key: 'bar',
    }
  }
})

Your Elasticsearch endpoint can be found on the My deployment page of your deployment:

Finding Elasticsearch endpoint

You can generate an API key on the Management page under Security.

Create API key

For other connection options, refer to the Connecting section.

Operations [_operations]

Time to use Elasticsearch! This section walks you through the basic, and most important, operations of Elasticsearch.

Creating an index [_creating_an_index]

This is how you create the my_index index:

await client.indices.create({ index: 'my_index' })

Indexing documents [_indexing_documents]

This is a simple way of indexing a document:

await client.index({
  index: 'my_index',
  id: 'my_document_id',
  document: {
    foo: 'foo',
    bar: 'bar',
  },
})

Getting documents [_getting_documents]

You can get documents by using the following code:

await client.get({
  index: 'my_index',
  id: 'my_document_id',
})

Searching documents [_searching_documents]

This is how you can create a single match query with the client:

await client.search({
  query: {
    match: {
      foo: 'foo'
    }
  }
})

Updating documents [_updating_documents]

This is how you can update a document, for example to add a new field:

await client.update({
  index: 'my_index',
  id: 'my_document_id',
  doc: {
    foo: 'bar',
    new_field: 'new value'
  }
})

Deleting documents [_deleting_documents]

await client.delete({
  index: 'my_index',
  id: 'my_document_id',
})

Deleting an index [_deleting_an_index]

await client.indices.delete({ index: 'my_index' })

Further reading [_further_reading]

  • Use Client helpers for a more comfortable experience with the APIs.
  • For an elaborate example of how to ingest data into Elastic Cloud, refer to this page.