Ein paar kleine Code-Snippets, um grundlegende Funktionen in node.js mit Elasticsearch implementieren zu können.
Elasticsearch-Client installieren:
npm install elasticsearch get-json
Client erstellen:
var elasticsearch = require('elasticsearch');
var client = new elasticsearch.Client( {
hosts: [
'http://localhost:9200/'
]
});
Index erstellen:
if(!client.indices.exists("testidx")){
client.indices.create({
index: "testidx"
}, (error, resp, status) => {console.log(status)}
);
}
Document speichern:
client.index(
{
index: "testidx",
type: "item",
id: "1",
body: {
id: "123",
value: "blubb"
}
}
);
Ein einfaches Query mit Callback-Function:
client.search({
index: 'testidx',
type: 'item',
body: {
query: {
match: { "id": "123" }
},
}
}, (error, response,status) => {
console.log("-- Hits --");
response.hits.hits.forEach((hit) => {
console.log(hit);
});
});
Ein einfaches Query mit Promise:
client.search({
index: 'testidx',
type: 'item',
body: {
query: {
match: { "id": "123" }
},
}
}).then((response) => {
response.hits.hits.forEach((hit) => {
console.log(hit);
});
}, (error) => {console.log(error);})
Mit Hilfe dieser Seite
https://www.compose.com/articles/getting-started-with-elasticsearch-and-node/ zusammen gebastelt und hiermit
https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/quick-start.html ergänzt.