【问题标题】:NodeJs + Postgresql + ElasticSearchNodeJs + Postgresql + ElasticSearch
【发布时间】:2020-06-18 20:26:28
【问题描述】:

我有一个项目,在数据库中有很多信息,我有几个可以包含人名的表,我需要按名称进行搜索,但我需要该名称来搜索所有表的所有字段, 这就是为什么我决定使用 ElasticSearch 但我不知道如何将它与 NodeJs 和 Postgresql 集成,我在互联网上找到的所有教程都没有使用 postgres 作为数据库,他们也使用 ElasticSearch 作为数据库。

这样我初始化elasticsearch:

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 数据库中进行搜索?

【问题讨论】:

  • 您需要一个从 Postgres 中提取数据并将其放入 Elasticsearch 的进程。

标签: node.js postgresql elasticsearch


【解决方案1】:

您需要将所有数据从 Postgres 索引到 Elasticsearch,以便能够在弹性搜索中进行搜索。有很多方法可以将数据推送到 elasticsearch。你可以阅读一些方式here

【讨论】:

    猜你喜欢
    • 2017-10-21
    • 1970-01-01
    • 2018-11-01
    • 2021-09-30
    • 2019-02-20
    • 2015-05-27
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    相关资源
    最近更新 更多