趣文网 > 作文大全

Elasticsearch开始的第一步索引index

2020-12-06 08:10:01
相关推荐

开始第一步

我们现在开始进行一个简单教程,它涵盖了一些基本的概念介绍,比如索引(indexing)、搜索(search)以及聚合(aggregations)。通过这个教程,我们可以让你对Elasticsearch能做的事以及其易用程度有一个大致的感觉。

我们接下来将陆续介绍一些术语和基本的概念,但就算你没有马上完全理解也没有关系。我们将在本书的各个章节中更加深入地探讨这些内容。

所以,坐下来,开始以旋风般的速度来感受Elasticsearch的能力吧!

让我们建立一个员工目录

假设我们刚好在Megacorp工作,这时人力资源部门出于某种目的需要让我们创建一个员工目录,这个目录用于促进人文关怀和用于实时协同工作,所以它有以下不同的需求:

数据能够包含多个值的标签、数字和纯文本。检索任何员工的所有信息。支持结构化搜索,例如查找30岁以上的员工。支持简单的全文搜索和更复杂的短语(phrase)搜索高亮搜索结果中的关键字能够利用图表管理分析这些数据索引员工文档

我们首先要做的是存储员工数据,每个文档代表一个员工。在Elasticsearch中存储数据的行为就叫做索引(indexing),不过在索引之前,我们需要明确数据应该存储在哪里。

在Elasticsearch中,文档归属于一种类型(type),而这些类型存在于索引(index)中,我们可以画一些简单的对比图来类比传统关系型数据库:

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集群中。实际上这些都是很容易的(尽管看起来有许多步骤)。我们能通过一个命令执行完成的操作:

我们看到path:/megacorp/employee/1包含三部分信息:

请求实体(JSON文档),包含了这个员工的所有信息。他的名字叫“John Smith”,25岁,喜欢攀岩。

很简单吧!它不需要你做额外的管理操作,比如创建索引或者定义每个字段的数据类型。我们能够直接索引文档,Elasticsearch已经内置所有的缺省设置,所有管理操作都是透明的。

接下来,让我们在目录中加入更多员工信息:

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

介绍闺蜜的作文 以六一为话题的作文 美食作文三年级 我懂得了珍惜作文450字 改变从现在开始作文 小金鱼作文500字 未来的学校作文300字 我喜欢的小猫作文300字 河豚作文 关于合唱比赛的作文 英语作文初中50词 特别的作文600字 医学生作文 英雄的作文800字高中 写爱好的英语作文 作业多的烦恼 作文 负荆请罪作文200字 以汉字为话题的作文 以雨为话题的作文 中考作文好开头好结尾 写老师讲课的作文 什么是我的责任作文 关于水帘洞的作文 关于踏青的英语作文 关于中国传统文化作文 青春阅读作文800字 科学小实验作文200 触动心灵的故事作文 我的语文老师英语作文 作文素材一百字