From e5dcb538ea679e35b4aaa129dd92a249f3c9bcd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Holp?= Date: Wed, 8 Apr 2020 16:25:16 +0000 Subject: [PATCH] Upload files to 'pages/students/2016/jan_holp/dp2021' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit najdôležitejší zdrojový súbor, slúži na indexovanie dát do ES --- .../2016/jan_holp/dp2021/elasticsearch.js | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 pages/students/2016/jan_holp/dp2021/elasticsearch.js diff --git a/pages/students/2016/jan_holp/dp2021/elasticsearch.js b/pages/students/2016/jan_holp/dp2021/elasticsearch.js new file mode 100644 index 000000000..661952e35 --- /dev/null +++ b/pages/students/2016/jan_holp/dp2021/elasticsearch.js @@ -0,0 +1,72 @@ + +const elasticsearch = require('elasticsearch'); +const fs = require('fs'); +const readline = require('readline'); + +const client = new elasticsearch.Client({ + hosts: [ 'http://localhost:9200'] +}); + +client.indices.create({ + index: 'skweb' +}, function(error, response, status) { + if (error) { + console.log(error); + } else { + console.log("created a new index", response); + } +}); + +const bulkIndex = function bulkIndex(index, type, data) { + let bulkBody = []; + id = 1; +const errorCount = 0; + data.forEach(item => { + bulkBody.push({ + index: { + _index: index, + _type: type, + _id : id++, + } + }); + bulkBody.push(item); + }); + console.log(bulkBody); + client.bulk({body: bulkBody}) + .then(response => { + + response.items.forEach(item => { + if (item.index && item.index.error) { + console.log(++errorCount, item.index.error); + } + }); + console.log( + `Successfully indexed ${data.length - errorCount} + out of ${data.length} items` + ); + }) + .catch(console.err); +}; + +async function indexData() { + + let documents = []; + const readInterface = readline.createInterface({ + input: fs.createReadStream('/home/elastic/BP/skweb/server/text.txt'), +// output: process.stdout, + console: false + }); + readInterface.on('line', function(line) { + const article = JSON.parse(line); + documents.push(article); + + }); + readInterface.on('close', function() { + console.log(documents); + bulkIndex('skweb', 'web_page', documents); + }); + + + } + + indexData();