ELKB技术栈
文章平均质量分 80
elasticsearch、kibana、logstash、beats
Black_Me_Bo
最长的路也有尽头,最黑暗的夜晚也会迎接清晨。
展开
-
13-ES集群模式
ES集群单机的elasticsearch做数据存储,必然面临两个问题:海量数据存储问题、单点故障问题。海量数据存储问题:将索引库从逻辑上拆分为N个分片(shard),存储到多个节点单点故障问题:将分片数据在不同节点备份(replica )ES集群相关概念:集群(cluster):一组拥有共同的 cluster name 的 节点。节点(node) :集群中的一个 Elasticearch 实例分片(shard):索引可以被拆分为不同的部分进行存储,称为分片。在集群环境下,一原创 2022-02-16 16:46:01 · 2012 阅读 · 0 评论 -
12-mysql与ES实现数据同步
mysql和ES实现数据同步思路分析常见的数据同步方案有三种:同步调用异步通知监听binlog同步调用基本步骤如下:服务1对外提供接口,用来修改elasticsearch中的数据服务2在完成数据库操作后,直接调用服务1提供的接口,异步通知服务2对mysql数据库数据完成增、删、改后,发送MQ消息服务1监听MQ,接收到消息后完成elasticsearch数据修改监听binlog给mysql开启binlog功能mysql完成增、删、改操作都会记录在binlog中原创 2022-02-16 16:22:18 · 3720 阅读 · 0 评论 -
11-ES的自动补全
自动补全在搜索框输入字符时,我们应该提示出与该字符有关的搜索项,因为需要根据拼音字母来推断,因此要用到拼音分词功能。拼音分词器要实现根据字母做补全,就必须对文档按照拼音分词。在GitHub上恰好有elasticsearch的拼音分词插件。地址:https://github.com/medcl/elasticsearch-analysis-pinyin安装方式可以参考IK分词器的安装方式:https://editor.csdn.net/md/?articleId=122899932测试拼音分词器P原创 2022-02-16 15:03:57 · 1190 阅读 · 0 评论 -
10-ES的数据聚合
数据聚合**聚合(aggregations)**可以让我们极其方便的实现对数据的统计、分析、运算。聚合的种类聚合常见的有三类:**桶(Bucket)**聚合:用来对文档做分组TermAggregation:按照文档字段值分组,例如按照品牌值分组、按照国家分组Date Histogram:按照日期阶梯分组,例如一周为一组,或者一月为一组**度量(Metric)**聚合:用以计算一些值,比如:最大值、最小值、平均值等Avg:求平均值Max:求最大值Min:求最小值Stats:原创 2022-02-16 14:54:17 · 624 阅读 · 0 评论 -
09-ES的RestClient(查询文档)
RestClient的查询文档快速入门以match_all查询为例发起查询请求 @Test void testMarchAll() throws IOException{ //准备request SearchRequest request =new SearchRequest("hotel"); //组织DSL参数 request.source().query(QueryBuilders.matchAllQuery());原创 2022-02-15 14:09:17 · 588 阅读 · 0 评论 -
08-ES搜索结果处理
ES搜索结果处理搜索的结果可以按照指定的方式去处理或展示。排序elasticsearch默认是根据相关度算分(_score)来排序,但是也支持自定义方式对搜索结果排序。可以排序字段类型有:keyword类型数值类型地理坐标类型日期类型普通字段排序keyword、数值、日期类型排序的语法基本一致。基本语法GET /indexName/_search{ "query": { "match_all": {} }, "sort": [ { "FI原创 2022-02-15 14:08:41 · 549 阅读 · 0 评论 -
07-DSL查询文档
DSL查询文档elasticsearch的查询依然是基于JSON风格的DSL来实现的。DSL查询分类Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括:查询所有:查询出所有数据,一般测试用。例如:match_all全文检索(full text)查询:利用分词器对用户输入内容分词,然后去倒排索引库中匹配。例如:match_querymulti_match_query精确查询:根据精确词条值查找数原创 2022-02-14 19:55:47 · 346 阅读 · 0 评论 -
06-ES的RestClient(操作文档)
ES的RestClient(操作文档)新增文档我们要将数据库的数据查询出来,写入elasticsearch中。索引库实体类数据库查询后的结果是一个Hotel类型的对象。结构如下:@Data@TableName("tb_hotel")public class Hotel { @TableId(type = IdType.INPUT) private Long id; private String name; private String address;原创 2022-02-13 22:48:07 · 1394 阅读 · 0 评论 -
05-ES的RestClient(操作索引库)
RestClient(操作索引库)ES官方提供了各种不同语言的客户端,用来操作ES。这些客户端的本质就是组装DSL语句,通过http请求发送给ES。官方文档地址:https://www.elastic.co/guide/en/elasticsearch/client/index.html其中的Java Rest Client又包括两种:Java Low Level Rest ClientJava High Level Rest Client这里使用的是Java HighLevel Rest C原创 2022-02-13 22:47:26 · 1294 阅读 · 0 评论 -
04-ES文档操作
文档操作新增文档语法如果不指定文档id,那么es将随机生成一个文档idPOST /索引库名/_doc/文档id{ "字段1": "值1", "字段2": "值2", "字段3": { "子属性1": "值3", "子属性2": "值4" }, // ...}示例POST /bttc/_doc/1{ "info":"谁把爷电动车骑走了?", "email":"it_chenbo@163.com", "nam原创 2022-02-12 23:28:00 · 794 阅读 · 0 评论 -
03-ES索引库操作
索引库操作索引库就类似数据库表,mapping映射就类似表的结构。我们要向es中存储数据,必须先创建“库”和“表”。mapping映射属性mapping是对索引库中文档的约束,常见的mapping属性包括:type:字段数据类型,常见的简单类型有:字符串:text(可分词的文本)、keyword(精确值,例如:品牌、国家、ip地址)数值:long、integer、short、byte、double、float、布尔:boolean日期:date对象:objectindex:是否原创 2022-02-12 23:15:21 · 269 阅读 · 0 评论 -
02-安装ElasticSearch、Kibana、IK分词器插件
部署单点es创建网络因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络:docker network create es-net加载镜像在Dockerhub搜索elasticsearch镜像将下载好的镜像上传到虚拟机中,然后运行命令加载即可:# 导入数据docker load -i es.tar同理还有kibana的tar包也需要这样做。运行运行docker命令,部署单点es:docker run -d \ --name es \原创 2022-02-12 18:01:04 · 314 阅读 · 0 评论 -
01-ES认识
初识ESES基础知识ES的作用elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容。在百度搜索答案在电商平台搜索商品在GItHub搜索代码ELK技术栈elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域,而elasticsearch是elastic stack的核心,负责存储、搜索、分析数据。elasticsear原创 2022-02-12 16:55:29 · 96 阅读 · 0 评论