遇到一个针对业务数据实现全文搜素的需求,而数据存在于pgsql数据库中,因此要将数据库中的数据同步到ES里。有两种方式可以实现:一是通过ES的API进行增删改查,二是通过中间件来进行数据全量、增量的同步。由于调用API的方式比较麻烦,本文便为第二种实现方式。
刚开始时是准备使用multicorn插件的,奈何在windows
10的环境下一直都无法进行make&&make install安装,而由于环境问题也无法使用ABC工具(不支持postgresql14),随即作罢,改换成实时数据采集引擎logstash来同步数据。
logstash概要
Logstash作为E...
Elasticsearch简介
Elasticsearch是目前全文搜索引擎的首选项,它可以快速地存储、搜索和分析海量数据。Elastic的底层是开源库Lucene,而Elastic是Lucene的封装,其提供了REST
API的操作接口,使之可以开箱即用。维基百科、Stack
Overflow、Github等网站的搜索引擎都是采用它。
Windows系统下Elasticsearch的安装和配置
安装Elasticsearch服务端
在官网中选择所需的合适版本下载即可。本文使用的Elasticsearch版本为5.5.3,下载链接为Elasticsearch
5.5.3...
YAML
YAML是一种数据序列化语言而不是标记语言,其语法比较简洁直观,特点是使用空格来表达层次结构,其最大的优势是在数据结构的表达上,且能配合大多数编程语言使用,因此YAML更多应用于配置文件的编写,其文件一般以.yml为后缀。
由于其语法的特殊性,没有编辑器可能容易写错,因而在此推荐一个无广告的yaml在线格式化网站:JS-YAML,其可以直接将yaml转化为json。
基础语法
YAML对大小写敏感
YAML用#表示注释,且只支持单行注释
用缩进表示层级关系
缩进只能使用空格,不能用TAB字符
缩进的空格数量不做要求,但要求同一层级的元素左侧必须对齐
...
Centos部署应用步骤
配置代码运行环境
nginx下载及配置
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162#centos下载apache[root@localhost admin]# yum install httpd #centos下载nginx[root@localhost admin]# yum install epel-release[root@localhost httpd]# yum...
Docker
容器简介
什么是Linux容器
Linux容器是与系统其他部分隔离开的一系列进程。它在另一个镜像中运行,并由该镜像提供支持进程所需的全部文件。容器提供的镜像包括了应用的所有依赖项,因此在开发到测试再到生产的过程中,容器都具有可移植性和一致性。
容器等同于虚拟化吗
容器不完全是虚拟化。虚拟化使得许多系统可同时在单个系统上运行,而容器可共享同一个操作系统的内核,将应用进程与系统其他部分隔离开。
这便意味着,即使是让多个操作系统在单个虚拟机监控程序上运行以实现虚拟化,也不能达到和使用容器同等的轻量级效果。Linux容器可从单个操作系统运行,在所有容器中共享该操作系统,...
创建应用
创建准备
成功注册企业微信企业
企业微信账号拥有当前企业的超级管理员或分级管理员的权限
创建应用
登录 企业微信管理后台,在【应用管理】界面-【应用】-【自建】点击【创建应用】,在弹出框填写应用的图标、标题、描述和可见范围基本信息。填写完成后,点击【创建应用】,将会跳转至应用详情页面。
配置信息
可见范围
在【应用管理】界面-【应用】-【自建】点击刚刚创建好的应用,进入应用信息页面,点击编辑。
点击可见范围旁边的添加,即可编辑可见范围。
应用主页
配置成员从工作台打开应用时打开的页面URL,假设应用打开的网页为:http://tangmenju...
前置知识
Linux常见目录
目录参数
说明
/
根目录,文件的最顶端,/etc、/bin、/dev、/lib、/sbin应和根目录放置在一个分区中,而类似/usr/local可以单独位于另一个分区
/bin
存放系统所需的重要命令,如文件或目录操作的命令ls、cp、mkdir等。/usr/bin也存放了一些系统命令,这些命令对于的文件都是可执行的,普通用户可以使用大部分的命令
/boot
存放Linux启动时内核及引导系统程序所需要的核心文件,内核文件和grub系统引导管理器都位于此目录
/dev
...
基于Vue-cli的前端项目初始化
初始化
Vue-cli环境配置详情见前端框架之Vue.js(一)安装小节里的“使用npm安装”内容。
初始化一个新项目,创建文件夹tutorproject作为项目目录,打开一个终端将切换路径到tutorproject,运行代码以创建front-end文件夹:
12345678910PS C:\Users\Administrator\Desktop\code_learn\flask_exercise\tutorproject> vue create front-end运行结果如下:Vue CLI v5.0.8? Please pick ...
可复用性&组合
混入
基础
混入用于分发Vue组件中是可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。
1234567891011121314151617//定义一个混入对象var myMixin={ created:function(){ this.hello() }, methods:{ hello:function(){ console.log('hello from mixin!') ...
深入了解组件
动态组件&异步组件
在动态组件上使用keep-alive
之前曾在一个多标签的页面使用is
attribute来切换不同的组件:
1<component v-bind:is="currentTabComponent"></component>
当这些组件之间来回切换时,会发现原来点击的内容被销毁了,由于
每次切换新标签时,Vue都创建了一个新实例,因此切回去时是不会保留之前选择的选项的。
若想把那些标签的组件实例能够被在它们第一次被创建时缓存下来,可以使用<keep-alive>元素把动态组件包...