Skip to content

Instantly share code, notes, and snippets.

@StephanHoyer
Created September 29, 2015 10:56
Show Gist options
  • Star 26 You must be signed in to star a gist
  • Fork 13 You must be signed in to fork a gist
  • Save StephanHoyer/b9cd6cbc4cc93cee8ea6 to your computer and use it in GitHub Desktop.
Save StephanHoyer/b9cd6cbc4cc93cee8ea6 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);
@drizzersilverberg
Copy link

I need this scripts renewed using newest elasticsearch-js version.

@bharti2018
Copy link

Hi Stephan,

I need to run multiple ElasticSearch Query in single page application, can you please suggest how to achieve that.

Thanks,
Abhishek

@drizzersilverberg
Copy link

@StephanHoyer,

how to filter the search by a field(s)?

I expected something like this :

function search() { return client.search({ index: 'test', q: 'huhu', filter: { user_id: 27 } }).then(log); }

but how to make that work?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment