使用logstash从mysql中导出数据到Elasticsearch

我的日常工作中偶尔会有把mysql表的数据同步到es中,虽然写代码也可以搞定,但是毕竟麻烦一些,而且虽然github上有很多的elasticsearch mysql river但是毕竟 都实现有所差异,而且也不保证不出bug,加上ELK在很多公司都被采用,所以我使用的解决方案是基于logstash的jdbc插件来进行同步 本篇文章所使用的mysql表结构为: 我们使用的logstash配置test

Elasticsearch Ingest

Elasticsearch 5.x引入了一组强大的功能,针对通过摄取节点(ingest node)摄取文档时出现的问题。 elasticsearch的节点可以是 主节点(master node) 数据节点(data node) 摄取节点(ingest node) 将摄取组件与其他组件分开的想法是为了避免由于在预处理文档期间可能出现的问题, 来创建更稳定的集群。为了创建一个更稳定的集群,在发生某些问

Elasticsearch备份和还原

Elasticsearch经常用来存储数据,如果你在里面存储了重要的数据,那么就需要进行备份,然后在出现问题的时候需要进行还原。 管理repositories Elasticsearch提供了一个内置的系统来快速备份和恢复您的数据。 在使用实时数据时,保持备份是复杂的,因为会有大量的并发问题。 Elasticsearch快照允许将单个索引(或别名)或整个集群的快照创建到远程存储库中。在开始执行快照

Elasticsearch 管理集群和节点

在Elasticsearch生态系统中,监控节点和集群以管理和提高其性能和状态很重要。在集群级别可能会出现几个问题,例如: 节点开销:某些节点可能会分配太多的分片,并成为整个集群的瓶颈 节点关闭:这可能由于许多原因,例如磁盘空间满了,硬件故障和电源问题而发生 分片重分配问题或损坏:某些碎片无法获取在线状态 分片太大:如果分片太大,则由于大量的Lucene segments合并,索引性能下降 空索引

Elasticsearch 文本和数字查询

这篇文章主要说一些es中的文本和数字的查询操作 使用term查询 搜索或过滤特定术语是非常频繁的。 trem查询使用精确的值匹配,通常非常快。term查询可以与MYSQL世界中相等的“=”查询进行比较(对于未tokenized的字段)。 为了把term查询弄成filter,我们需要使用bool查询进行包装: 一个建议就是,如果你并不是关心文档的score,那么就应该总是使用term filter。

Elasticsearch 搜索操作

本篇文章主要介绍一下Elasticsearch中的搜索功能。执行查询的url格式为: 如果想同时在多个索引或者类型中进行搜索的话,只需要把索引名称或者类型名称使用逗号进行分格就好了。 通常情况下,我们是通过GET、POST请求的body进行参数传递的,但是也有一些查询参数: q 进行简单的字符串查询: df 查询中使用的默认字段: from 分页的起始位置,默认为0 size 分页大小,默认为10

Elasticsearch文档的基本操作

文档索引 为了创建一个文档,es提供了好几种url: 比如: 如果文档索引成功的话,es会返回: 在上面的返回中,有几个比较重要的信息: – _id 文档的唯一标识 – version 文档的版本信息,用于乐观锁 – created 标记文档是否创建了 在Elasticsearch中,索引一个文档主要有下面的几个步骤: 根据文档的id或者routing/pare

Elasticsearch 索引的基本操作

创建索引 创建成果的时候会返回: 如果要创建的索引已经存在了,那么上面的创建索引命令会出现400错误: 在创建索引的时候,有2个比较重要的参数需要留意一下: number_of_shards 它控制组成索引的分片数(每个分片最多可以存储2^32个文档) number_of_replicas 它控制每个分片的副本数量,一般建议最少设置为1 上面的API调用初始化一个新的索引,这意味着: 索引首先在主

Elasticsearch Mapping操作

在Elasticsearch中,Mapping是一个非常重要的概念,他定义了es搜索引擎如何处理文档。搜索引擎重要做2个操作: indexing 主要是获取一个文档,然后存储/索引/处理 searching 主要是从index中查询文档 indexing和searching是严格连接和相互影响的2个操作。 索引步骤中的错误导致搜索结果不是想要的或搜索结果的丢失。Elasticsearch在索引/类

Elasticsearch的一些常用设置以及插件的安装和卸载

网络设置 使用标准的Elasticsearch配置config/elasticsearch.yml文件,您的节点被配置为在机器所有的接口上绑定,并将发现广播事件发送到discovery.zen.ping.unicast.hosts中列出的节点。 这意味着它会以单播列表的形式向机器发送信号,并等待响应。 如果一个节点响应它,他们可以加入一个集群。如果其他的节点在相同的LAN中,他们也可以加入集群中。