【发布时间】: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