设为首页 收藏本站
查看: 780|回复: 0

[经验分享] elk入门概念详解

[复制链接]

尚未签到

发表于 2019-1-28 11:20:48 | 显示全部楼层 |阅读模式
  开始第一步
  

  我们现在开始进行一个简单教程,它涵盖了一些基本的概念介绍,比如索引(indexing)、搜索(search)以及聚合(aggregations)。通过这个教程,我们可以让你对Elasticsearch能做的事以及其易用程度有一个大致的感觉。
  我们接下来将陆续介绍一些术语和基本的概念,但就算你没有马上完全理解也没有关系。我们将在本书的各个章节中更加深入的探讨这些内容。
  所以,坐下来,开始以旋风般的速度来感受Elasticsearch的能力吧!
  让我们建立一个员工目录
  

  假设我们刚好在Megacorp工作,这时人力资源部门出于某种目的需要让我们创建一个员工目录,这个目录用于促进人文关怀和用于实时协同工作,所以它有以下不同的需求:
  数据能够包含多个值的标签、数字和纯文本。
  检索任何员工的所有信息。
  支持结构化搜索,例如查找30岁以上的员工。
  支持简单的全文搜索和更复杂的短语(phrase)搜索
  高亮搜索结果中的关键字
  能够利用图表管理分析这些数据
  索引员工文档
  

  我们首先要做的是存储员工数据,每个文档代表一个员工。在Elasticsearch中存储数据的行为就叫做索引(indexing),不过在索引之前,我们需要明确数据应该存储在哪里。
  在Elasticsearch中,文档归属于一种类型(type),而这些类型存在于索引(index)中,我们可以画一些简单的对比图来类比传统关系型数据库:
  Relational DB -> Databases -> Tables -> Rows -> Columns
  Elasticsearch -> Indices   -> Types  -> Documents -> Fields
  Elasticsearch集群可以包含多个索引(indices)(数据库),每一个索引可以包含多个类型(types)(表),每一个类型包含多个文档(documents)(行),然后每个文档包含多个字段(Fields)(列)。
  「索引」含义的区分
  

  你可能已经注意到索引(index)这个词在Elasticsearch中有着不同的含义,所以有必要在此做一下区分:
  索引(名词) 如上文所述,一个索引(index)就像是传统关系数据库中的数据库,它是相关文档存储的地方,index的复数是indices 或indexes。
  

  索引(动词) 「索引一个文档」表示把一个文档存储到索引(名词)里,以便它可以被检索或者查询。这很像SQL中的INSERT关键字,差别是,如果文档已经存在,新的文档将覆盖旧的文档。
  

  倒排索引 传统数据库为特定列增加一个索引,例如B-Tree索引来加速检索。Elasticsearch和Lucene使用一种叫做倒排索引(inverted index)的数据结构来达到相同目的。
  默认情况下,文档中的所有字段都会被索引(拥有一个倒排索引),只有这样他们才是可被搜索的。
  我们将会在倒排索引章节中更详细的讨论。
  

  所以为了创建员工目录,我们将进行如下操作:
  为每个员工的文档(document)建立索引,每个文档包含了相应员工的所有信息。
  每个文档的类型为employee。
  employee类型归属于索引megacorp。
  megacorp索引存储在Elasticsearch集群中。
  实际上这些都是很容易的(尽管看起来有许多步骤)。我们能通过一个命令执行完成的操作:
  PUT /megacorp/employee/1
  {
  "first_name" : "John",
  "last_name" :  "Smith",
  "age" :        25,
  "about" :      "I love to go rock climbing",
  "interests": [ "sports", "music" ]
  }
  我们看到path:/megacorp/employee/1包含三部分信息:
  名字说明
  megacorp索引名
  employee类型名
  1这个员工的ID
  请求实体(JSON文档),包含了这个员工的所有信息。他的名字叫“John Smith”,25岁,喜欢攀岩。
  很简单吧!它不需要你做额外的管理操作,比如创建索引或者定义每个字段的数据类型。我们能够直接索引文档,Elasticsearch已经内置所有的缺省设置,所有管理操作都是透明的。
  接下来,让我们在目录中加入更多员工信息:
  PUT /megacorp/employee/2
  {
  "first_name" :  "Jane",
  "last_name" :   "Smith",
  "age" :         32,
  "about" :       "I like to collect rock albums",
  "interests":  [ "music" ]
  }
  

  PUT /megacorp/employee/3
  {
  "first_name" :  "Douglas",
  "last_name" :   "Fir",
  "age" :         35,
  "about":        "I like to build cabinets",
  "interests":  [ "forestry" ]
  }
  

  结果:
  

  [root@master elasticsearch]#
curl -i -XPUT 127.0.0.1:9200/megacorp/employee/1 -d '                     
{
    "first_name" : "John",
    "last_name" :  "Smith",
    "age" :        25,
    "about" :      "I love to go rock climbing",
    "interests": [ "sports", "music" ]
}
'  

  结果: 集群数据目录多一个了index megacorp名名称的(indices目录是 index名称的复数)
  [root@master elasticsearch]#
ls -l /tmp/elasticsearch/data/elasticsearch-cluster/nodes/0/indices/megacorp/total 24
drwxr-xr-x 5 elasticsearch elasticsearch 4096 May 15 19:32 0
drwxr-xr-x 5 elasticsearch elasticsearch 4096 May 15 19:31 1
drwxr-xr-x 5 elasticsearch elasticsearch 4096 May 15 19:32 2
drwxr-xr-x 5 elasticsearch elasticsearch 4096 May 15 19:31 3
drwxr-xr-x 5 elasticsearch elasticsearch 4096 May 15 19:33 4
drwxr-xr-x 2 elasticsearch elasticsearch 4096 May 15 19:33 _state  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-668648-1-1.html 上篇帖子: (实际应用)ELK环境搭建 下篇帖子: ELK实践
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表