Skip to content

ElasticSearch

Installation

CentOS

  1. Insatall java
    sudo dnf install java-1.8.0-openjdk.x86_64
  2. Confirm java installed
    java -version
  3. Add repo
bash
cd yum.repos.d/
vi elasticsearch.repo
  1. Add in code below
properties
[Elasticsearch-7]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
  1. Install
    sudo yum install --enablerepo=elasticsearch elasticsearch
  2. Configure /etc/elasticsearch/elasticsearch.yml
properties
cluster.name: cluster-name
node.name: node-1
cluster.initial_master_nodes: ["node-1"]
  1. Enable service
bash
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service
sudo systemctl status elasticsearch.service
sudo netstat -pnltu | grep elastic
sudo netstat -pnltu | grep elasticsearch
sudo netstat -pnltu
  1. Enable firewall
bash
sudo firewall-cmd --add-port=9200/tcp --permament
sudo firewall-cmd --add-port=9200/tcp --permanent
sudo firewall-cmd --add-port=9
sudo firewall-cmd --reload
  1. Test
    curl -X GET "http://localhost:9200/"

Nodejs example

javascript
const elasticsearch = require('@elastic/elasticsearch')

async function search() {
  const client = new elasticsearch.Client(
    {
      cloud: {
        id: '<your cloud id>'
      },
      log: 'trace',
      auth: {
        username: '<username>',
        password: '<password>',
      },
    }
  )
  const result = await client.search(
    {
      index: '<index>',
      from: 1,
      size: 10,
    }, {
      ignore: [404],
      maxRetries: 3
    }
  )
  console.log(JSON.stringify(result))
}

search()