Skip to content

Instantly share code, notes, and snippets.

@dedg3
Forked from StephanHoyer/elasticsearch-example.js
Created September 23, 2018 21:33
Show Gist options
  • Save dedg3/f5c16dd0ef6f75f7309382a2dc4ca8ae to your computer and use it in GitHub Desktop.
Save dedg3/f5c16dd0ef6f75f7309382a2dc4ca8ae to your computer and use it in GitHub Desktop.
Simple example how to use elastic search with node.js
'use strict';
var elasticsearch = require('elasticsearch');
var Promise = require('bluebird');
var log = console.log.bind(console);
var client = new elasticsearch.Client({
host: 'localhost:9200',
log: 'trace'
});
function dropIndex() {
return client.indices.delete({
index: 'test',
});
}
function createIndex() {
return client.indices.create({
index: 'test',
mapping: {
house: {
name: {
type: 'string'
}
}
}
});
}
function addToIndex() {
return client.index({
index: 'test',
type: 'house',
id: '1',
body: {
name: 'huhu'
}
});
}
function search() {
return client.search({
index: 'test',
q: 'huhu'
}).then(log);
}
function closeConnection() {
client.close();
}
function getFromIndex() {
return client.get({
id: 1,
index: 'test',
type: 'house',
}).then(log);
}
function waitForIndexing() {
log('Wait for indexing ....');
return new Promise(function(resolve) {
setTimeout(resolve, 2000);
});
}
Promise.resolve()
.then(dropIndex)
.then(createIndex)
.then(addToIndex)
.then(getFromIndex)
.then(waitForIndexing)
.then(search)
.then(closeConnection);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment