elasticSearch + logstash + postgresql
通过logstash将postgres数据库的数据同步到elasticSearch,整理步骤如下:
一、环境准备
1.1 postgres数据库
本地安装postgres数据库,方法可自行百度
1.2 安装elasticSearch
通过docker安装比较方便,本地需要有docker环境,执行 docker pull elasticsearch:7.6.2
启动elasticSearch:
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -d elasticsearch:7.6.2
1.3 安装logstash
docker pull logstash:7.14.2
注意:将logstash容器中的 /usr/share/logstash/config /usr/share/logstash/pipline 目录中的内容从容器中拷贝出来,启动容器的时候再挂载进去,不然启动很有可能报错
拷贝出来后,需要修改两个文件,一个是pipeline目录下的logstash.conf,内容如下:
第二个文件是config目录下的logstash.yml,内容如下:
这个hosts是第二步启动的es地址,
启动logstash:
docker run -d -it --name=logstash_dev -m 8g --cpus=4 -p 5044:5044 -p 9600:9600 -v /mnt/data/logstash/jar/:/home/jar -v /mnt/data/logstash/dev/pipeline:/usr/share/logstash/pipeline -v /mnt/data/logstash/dev/config:/usr/share/logstash/config logstash:7.14.2
二、使用elasticSearch
我这里用的是nodejs
查询结果:
匹配度最高的结果在最上面