Elasticsearch is een open-source zoek- en analyse-engine die in staat is om zoekopdrachten uit te voeren in bijna realtime. Het wordt veel gebruikt voor log- en eventdata-analyse.
Node.js is een open-source, cross-platform runtime-omgeving waarmee ontwikkelaars server-side en networking applicaties kunnen schrijven met JavaScript.
Hier zijn stappen over hoe je Elasticsearch met Node.js kunt gebruiken:
1. Installeer Elasticsearch: Download en installeer Elasticsearch vanaf de officiële website.
1. Installeer Node.js: Download en installeer Node.js vanaf de officiële website.
1. Installeer Elasticsearch client voor Node.js: Navigeer naar je projectmap in de terminal of command prompt en voer het volgende commando uit:
`npm install @elastic/elasticsearch`1. Schrijf code voor het gebruik van Elasticsearch: Maak een nieuw JavaScript-bestand in je projectfolder (bijvoorbeeld `app.js`). In dat bestand moet je de Elasticsearch client instantiëren en vervolgens operaties uitvoeren zoals het maken van een index, het toevoegen van documenten, het zoeken naar documenten, etc.
Bijvoorbeeld:
```
const { Client } = require(‘@elastic/elasticsearch’)
const client = new Client({ node: ‘http://localhost:9200’ })
async function run () { // Let’s start by indexing some data await client.index({ index: ‘game-of-thrones’, body: { character: ‘Ned Stark’, quote: ‘Winter is coming.‘ } })
await client.index({ index: ‘game-of-thrones’, body: { character: ‘Daenerys Targaryen’, quote: ‘I am the blood of the dragon.‘ } }) // here we are forcing an index refresh, otherwise we will not // get any result in the consequent search await client.indices.refresh({ index: ‘game-of-thrones’ }) // let’s search for ‘dragon’ in the ‘quote’ field const { body } = await client.search({ index: ‘game-of-thrones’, body: { query: { match: { quote: ‘dragon’ } } } }) console.log(body.hits.hits) }run().catch(console.log)
```
Dit is een basic voorbeeld van hoe je Elasticsearch met Node.js kunt gebruiken. In een real-world toepassing zou je waarschijnlijk veel meer complexe queries hebben en zou je ook foutafhandeling toevoegen.