文档章节

ELKStack学习笔记(2)

伯廷
 伯廷
发布于 2017/03/24 00:26
字数 554
阅读 1
收藏 0

1. step by step

最好的学习放材料就是官方的guide。里面提供了供学习的数据资源和每一步详细的操作步骤和解释。

所以,认真的读吧。

2. 官方数据集:

accounts.zip, logs.jonl,shakspeare .

将加载数据的命令复制到命令行,等待一些时间后,数据就导入好了。下面可以探索kibana 的使用了。

3. search API

elasticsesarch有两种查询API.分别是传统的查询参数类型和DSL全量请求体类型。

GET /_all/tweet/_search?q=tweet:elasticsearch

上面这样的属于第一种类型,方便打字,在命令行curl命令来实验。

如果我们要查询这样的条件:

+name:john +tweet:mary

+:== 逻辑与And

-:==逻辑非Not

“”==逻辑或Or

那么他的查询条件将转移为这样:

指定字段的匹配:

GET /_search?q=%2Bname%3Ajohn+%2Btweet%3Amary

很明显,这非常不利于阅读。

看看这条查询:

GET /_search?q=mary

如果没有指定字段:es将所有字段拼接在一起组成一个_all字段和和查询参数做匹配;

查询字符串这种方式适合专家级的用户,因为它容易出错,而且

 

For these reasons, we don’t recommend exposing query-string searches directly to your users, unless they are power users who can be trusted with your data and with your cluster.

在生产环境,我们一般使用更高级的DSL:

在学习怎么使用DSL之前,我们需要了解ES中的数据结构,也就是,我们的数据是怎么在ES中被建立索引的。

 

4. 映射和分析(mapping and analysis)

GET /_search?q=2014              # 12 results
GET /_search?q=2014-09-15        # 12 results !
GET /_search?q=date:2014-09-15   # 1  result
GET /_search?q=date:2014         # 0  results !

上面的这个查询结果反映了ES的数据索引特征:

GET /gb/_mapping/tweet

返回:

{
   "gb": {
      "mappings": {
         "tweet": {
            "properties": {
               "date": {
                  "type": "date",
                  "format": "strict_date_optional_time||epoch_millis"
               },
               "name": {
                  "type": "string"
               },
               "tweet": {
                  "type": "string"
               },
               "user_id": {
                  "type": "long"
               }
            }
         }
      }
   }
}

4.1 记住下面这句话:

Data in Elasticsearch can be broadly divided into two types: exact values and full text.

数据在es中被分为两种:一个确定的值和全文。

一种是确定的是或者不是,另一种是目标和查询条件的符合度。这就是区别。

 

 

© 著作权归作者所有

伯廷
粉丝 0
博文 2
码字总数 1132
作品 0
西安
程序员
私信 提问
ELKStack篇(1)——ElasticSearch篇

1.没有日志分析系统 1.1运维痛点 1.运维要不停的查看各种日志。 2.故障已经发生了才看日志(时间问题。) 3.节点多,日志分散,收集日志成了问题。 4.运行日志,错误等日志等,没有规范目录,收...

1160636144
2016/12/23
0
0
ELKStack 实战之 Elasticsearch [一]

ELKStack 实战之 Elasticsearch [一] ELKStack 实战之 Elasticsearch [一] ELKStack简介 ELK Stack 是 Elasticsearch、Logstash、Kibana 三个开源软件的组合。在实时数据检索和分析场合,三者...

Abcdocker
2017/03/17
0
0
IT 技术数据&翻译 目录整理--Awesome-IT-Books

Awesome-IT-Books 本目录旨在集合各个优秀IT书籍&API翻译&官方Docs翻译。 这个仓库不产出书籍,只是将网上流传着的书籍&书籍翻译集合在一起,供大家检索学习。 在此先感谢那些为我们提供书籍...

charchen
2017/04/25
854
1
自动化运维之日志系统Logstash系列一

第1章 日志分析系统需求 1.1 运维痛点 1.运维要不停的查看各种日志。 2.故障已经发生了才看日志(时间问题) 。 3.节点多,日志分散,收集日志成了问题。 4.运行日志,错误等日志等,没有规范目...

zhagyilig
2017/04/06
0
0
总有你要的编程书单(GitHub )

目录 IDE IntelliJ IDEA 简体中文专题教程 MySQL 21分钟MySQL入门教程 MySQL索引背后的数据结构及算法原理 NoSQL Disque 使用教程 Neo4j .rb 中文資源 Redis 命令参考 Redis 设计与实现 The ...

汇智网
2017/11/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
昨天
4
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
昨天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部