ElasticSearch简单入门

1.全⽂检索流程

ElasticSearch简单入门

2.ElasticSearch相关概念

1.索引 index

⼀个索引就是⼀个拥有⼏分相似特征的⽂档的集合。⽐如说,你可以有⼀个客户数据的索引,另⼀个产品⽬录的索引,还有⼀个订单数据的索引。⼀个索引由⼀个名字来标识json数据(必须全部是⼩写字母的),并且当我们要对对应于这个索引中的⽂档进⾏索引、搜索、前端开发需要学什么更新和删前端开发转行做什么好除的时候,都要使⽤到这个名字javascript:void(0)。在⼀个集群中,可以定义任javascript面试意多的索引。

2.类型 type

在⼀个索引中,索引符号你可以定义⼀种或多种类型。⼀个类型是你的索引的⼀个逻辑上的分类/分区,其语义完javascript全由你来定。通常,会为具有⼀组共同字段的⽂档定义⼀个类型。⽐如说,我们假设json数据你运营⼀个博客平台并且将存储诸天你所有的数据存储到⼀个索引中。在这个索引中,你可以为⽤户数据定义⼀个类型,为博客数据定义另⼀个类型,当然,也可以为评论数据定义另⼀个类型。

3.字段Field

相当于是数据的字段,对⽂档数据根据不同属性进⾏的分类标识前端开发是干什么的

4.映射 mappijavascriptng

mapping是处理数数据格式错误据的⽅式和规则⽅⾯做⼀些限制,如某个字段的数据类型、默认值、分析器、是否被索引等等,这些都是映射⾥⾯可以设置的,其它就是处理es⾥⾯数据的⼀些使⽤规则设置也叫做映射, 按着最存储器可分为哪三类优规则处理数据对性能提⾼很⼤,因此才需要建⽴映射,并且需要思考如何建Json⽴映射才能对性能更好。

5.⽂档 document

⼀个⽂档是⼀个可被索引的基础信息单元。⽐如,你可以拥有某⼀个客户的⽂档,某⼀个产品数据格式错误怎么回事的⼀个⽂档,当然,也可以拥有某个订单javascript怎么读的⼀个⽂档。⽂档以JSONJavascript Object Nota数据格式化tion)格式来⽰, ⽽JSON是⼀个到处存在的互联⽹数据交互格式。在⼀个index/javascripttype⾥⾯,你可以存储任意多的⽂档。注意,尽管⼀个⽂档,物理上存json解析在于⼀个索引之中,⽂档必须被索索引超出矩阵维度/赋予⼀个索引的type

6.接近实时 NRT

Elasticsearch是⼀个接近实时的搜索平台数据格式化。这意味着,从索引⼀个⽂档直到这个存储空间清理⽂档能够被搜索到有⼀个轻微的延迟(通常是1秒以内)

7.集群 cluster

⼀个集前端开发群就是由⼀个或多个节点组织在⼀起,它们共同持有整个的数据,并⼀起提供索引和搜索功能。⼀个集群由⼀个唯⼀的名字标识,这个名字默认就是“elasticsearch”。这个名字是重要的,因为⼀个节点只能通过指定某个集群的名字,来加⼊这个集群

8.节点 node

⼀个节点是集群中的⼀个服务器,作存储处理国家秘密的计算机为集群的⼀部分,它存储数据,参与集群的索引和搜索功能。和集 群类似,⼀个节点也是由⼀个名字来json标识的,默认javascript菜鸟教程情况下,这个名字是⼀个随机的漫威漫画⾓⾊的名字,这个名字会在启动的时候赋予节点。这个名字对Json于管理⼯作来说javascript是干什么的挺重要的,索引失效的几种情况因为在这个管理过程中,你会去确定⽹络中的哪些服务器对应于Elastic前端开发需要学什么sea数据格式化rch集群中的哪些节点。⼀个节点可以通过配置集群名称的⽅式来加⼊⼀个存储过程指定的集群。默认情况下,每个节点都会被javascript什么意思安排加⼊到⼀个叫做“elasticsearch”的集群中,这意味着,如果你在你的⽹络中启动了若⼲个节点,并假定它们 能够相互发现彼此,它们将会⾃动地形成并加前端开发是干什么的⼊到⼀个叫做“ela索引失效的几种情况和解决sticsearch”的集群中。在⼀个集群⾥,只要你想,可以拥有任意多javascript菜鸟教程个节点。⽽且,如果当前你的⽹络中没有运⾏任Json何Elasticsearch节点,这时启动⼀个节点,会默认创建并加⼊⼀个叫做“elasticsjson文件是干什么的earch”的集群。

9.分⽚和复制 shards&replicas

⼀个索引可以存储超出单个结点硬件限制的⼤量数据。⽐如,⼀个具有10亿⽂档的索引占据1TB的磁盘空间,⽽任⼀节点都没有这样⼤的磁盘空间;或者单个节点处理搜索请求,响应太慢。前端开发需要掌握什么技术为了解决这个问 题,Elasticsearch提供了将索引划分成多份的能⼒,这些份就叫做分⽚。当你创建⼀个索引的时候,你可以指定你想要的存储容量分⽚的数量。每个分⽚本⾝也是⼀个功能完善并且独⽴的索引,这个索引”可以被 放置到集群中的任何节点上。分⽚很重要,主要有两⽅⾯的原因

1)允许你⽔平索引图分割/扩展你的内容容量。

2)允许你在分⽚(潜在地,位于多个节点上)之上进⾏分布式的、并⾏的操作,进⽽提⾼性能/吞吐量。⾄于⼀个分⽚怎样分布,它的⽂档怎样聚合回搜索请求,是完全由Elastics数据格式earch管理的索引失效的几种情况和解决,对于作为⽤户 的你来说,这些都是透明的。

在⼀个⽹络/云的环境⾥,失败随时都可能发⽣,在某个分⽚/节点不知怎么的就处于离线状态,或者由 于任何原因消失了,这种情况下,有⼀个故障转移机制是⾮常有⽤并且是强烈推荐的。为此⽬的,

Elasticsearch允许你创建分⽚的⼀份或多份拷贝,这些拷贝叫做复制分⽚,或者直接叫复制。

复制之所以重要,有两个主要原因数据格式: 在分⽚/节点失败的情况下,提供了⾼可⽤性。因为这个原因,注 意到复制分⽚从不与原索引失效的几种情况和解决/主要(original/primary)前端开发需要学什么分⽚置于同⼀节点上是⾮常重要的。扩展你的搜索量/吞吐量,因为搜索可以在所有的复制上并⾏运⾏。总之,每个存储器中存取速度最快的是索引可以被分成多个分⽚。⼀个索引也可以被复制0次(意思是没有复制)或多次。⼀旦复制了,每个索引就有了主分⽚(作为复制源的原来的分⽚)和复json格式转换制分⽚(主分⽚的拷贝)之别。分⽚和复制的数量可以在索引数据格式设置为数值创建的时候指定。在索引创建数据格式怎么设置之后,你可以在任何时候动态地改变复制的数量,但是你事后不能改变分⽚的数量。

默认情javascript怎么读况下,Elasticsearch中的每个索引被分⽚5数据格式化个主分⽚和1个复制,这意味着,如果你的集群中⾄少有两个节点,你的索引将会索引失效的几种情况和解决5个主分⽚和另外5个复制javascript浏览器分⽚(1个完全拷贝),这样的话每个索引总共就有10个分⽚。