NodeJs + Postgresql + ElasticSearch - PullRequest
0 голосов
/ 06 марта 2020

У меня есть проект, который содержит много информации в базе данных, у меня есть несколько таблиц, которые могут содержать имена людей, и мне нужно выполнить поиск по имени, но мне нужно это имя для поиска во всех полях всех таблиц Вот почему я решил использовать ElasticSearch, но я не знаю, как интегрировать его с NodeJs и Postgresql, все учебники, которые я нашел в inte rnet, не используют postgres в качестве базы данных, они используйте ElasticSearch в качестве базы данных.

таким образом, я инициализируюasticsearch:

var elasticsearch = require('elasticsearch');

var client = new elasticsearch.Client({
hosts: [ 'http://localhost:9200']
});

client.ping({
requestTimeout: 30000,
}, function(error) {
if (error) {
console.error('Cannot connect to Elasticsearch.');
} else {
console.log('Connected to Elasticsearch was successful!');
}
});

, и вот как я могу искать в моей базе данных postgres:

await db.query('SELECT * FROM people WHERE name like '%Jhon%' OR comments like '%Jhon%'', (err, results) => {
        if (err) {
            console.log(err.stack);
            return res.send('Sorry an error ocurred');
        }

        var people = results.rows;


        console.log(people);


    })

Как я могу использовать ElasticSearch для поиска в моей базе данных postgres?

1 Ответ

0 голосов
/ 06 марта 2020

Вам нужно проиндексировать все свои данные из Postgres в Elasticsearch, чтобы иметь возможность искать в поиске elasti c. Есть много способов для передачи данных в эластичный поиск. Вы можете прочитать некоторые из способов здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...