1. 养乐多|杨城的个人博客首页
  2. 技术杂谈
  3. Data Analysis

Elasticsearch 专业术语

分析(analysis)
分析是将全文转换为词的过程。 根据使用的分析器,这些短语:FOO BAR,Foo-Bar,foo,bar可能都会产生foo和bar这两个词。 这些词是实际存储在索引中的内容。 FoO:bAR的全文查询(非词语查询)也将分析为词foo,bar,因此将匹配存储在索引中的词。 正是这个分析过程(在索引时和搜索时)都允许Elasticsearch执行全文查询。 另见文本和术语。

集群(cluster)
集群由一个或多个共享相同集群名称的节点组成。 每个集群都有一个主节点,由集群自动选择,如果当前主节点出现故障,可以替换该节点。

文档(document)
它是存储在Elasticsearch中的JSON文档。 它就像是关系数据库中表中的一行。 每个文档都存储在索引中,并具有类型和ID。 文档是JSON对象(在其他语言中也称为散列/散列映射/关联数组),其包含零个或多个字段或键值对。 索引的原始JSON文档将存储在_source字段中,该字段在获取或搜索文档时默认返回。

唯一标识(ID)
文档的ID标识。 文档的索引/标识必须是唯一的。 如果未提供ID,则会自动生成。 (另见路由)

字段(filed)
文档包含字段列表或键值对。 值可以是简单(标量)值(例如字符串,整数,日期),也可以是类似数组或对象的嵌套结构。 字段类似于关系数据库中表的列。 每个字段的映射都有一个字段类型(不要与文档类型混淆),它指示可以存储在该字段中的数据类型,例如整数,字符串,对象。 映射还允许您定义(除其他事项外)应如何分析字段的值。

过滤(filter)
过滤是一种非评分查询,这意味着它不会对文档进行评分。 它只关心回答这个问题 – “这份文件是否匹配?”。 答案总是简单,二元是或否。 据说这种查询是在过滤器上下文中进行的,因此它被称为过滤器。 过滤器是对集合包含或排除的简单检查。 在大多数情况下,过滤的目标是减少必须检查的文档数量。

索引(index)
在ES中, 索引是一组文档的集合。索引就像关系数据库中的表。它有一个包含类型的映射,该类型包含索引中的字段。 索引是一个逻辑命名空间,它映射到一个或多个主分片,并且可以具有零个或多个副本分片。

映射(mapping)
映射就像关系数据库中的模式定义。 每个索引都有一个映射,它定义了一个类型,以及一些索引范围的设置。 可以显式定义映射,也可以在索引文档时自动生成映射。

节点(node)
节点是Elasticsearch的运行实例,属于集群。 可以在单个服务器上启动多个节点以进行测试,但通常每个服务器应该有一个节点。 在启动时,节点将使用单播来发现具有相同集群名称的现有集群,并尝试加入该集群。

主分片(primary shard)
每个文档都存储在一个主分片中。 索引文档时,它首先在主分片上编制索引,然后在主分片的所有副本上编制索引。 默认情况下,索引有5个主分片。 您可以指定更少或更多的主分片来扩展索引可以处理的文档数。 创建索引后,无法更改索引中主分片的数量。 另请参见路由

查询(query)
查询是搜索的基本组件。 搜索可以由一个或多个查询定义,这些查询可以以无限组合进行混合和匹配。 虽然过滤器是仅确定文档是否匹配的查询,但那些也计算文档匹配程度的查询称为“评分查询”。 这些查询为其分配一个分数,该分数稍后用于对匹配的文档进行排序。 评分查询比非评分查询占用更多资源,并且其查询结果不可缓存。 作为一般规则,使用查询子句进行全文搜索或任何需要评分的条件,并对其他所有内容使用过滤器。

副本(replica shard)
每个主分片可以具有零个或多个副本。 副本是复制于主分片,它有两个作用:
1. 增加故障转移:如果主要故障,可以将副本分片提升为主分片;
2. 提高性能:get和搜索请求可以由主分片或副本分片处理。 默认情况下,每个主分片都有一个副本,但可以在现有索引上动态更改副本数。 永远不要在与其主分片相同的节点上启动副本分片。

路由(routing)
索引文档时,它存储在单个主分片上。 通过散列路由值来选择该分片。 默认情况下,路由值是从文档的ID派生的,或者,如果文档具有指定的父文档,则从父文档的ID派生(以确保子文档和父文档存储在同一个分片上)。 可以通过在索引时指定路由值或映射中的路由字段来覆盖此值。

分片(shard)
分片是单个Lucene实例。 它是一个低级别的“工作者”单元,由Elasticsearch自动管理。 索引是指向主分片和副本分片的逻辑命名空间。 除了定义索引应具有的主分片和副本分片的数量之外,您永远不需要直接引用分片。 相反,您的代码应该只处理索引。 Elasticsearch在集群中的所有节点之间分配分片,并且在节点故障或添加新节点的情况下,可以自动将分片从一个节点移动到另一个节点。

源字段(source field)
默认情况下,您索引的JSON文档将存储在_source字段中,并将由所有get和搜索请求返回。 这允许您直接从搜索结果访问原始对象,而不需要第二步从ID中检索对象。

词(term)
词是在Elasticsearch中编制索引的精确值。 词语foo,Foo,FOO不等同。 可以使用词查询来搜索词语(即确切值)。 另见文本和分析。

文本(text)
文本(或全文)是普通的非结构化文本,例如本段。 默认情况下,文本将被分析为术语,这是实际存储在索引中的术语。 需要在索引时分析文本字段以便可以作为全文搜索,并且必须在搜索时分析全文查询中的关键字以产生(和搜索)在索引时生成的相同术语。 另见词和分析。

类型(type)
用于表示文档类型的类型,例如 电子邮件,用户或推文。 类型已弃用,正在被删除。 请参阅删除映射类型。

参考资料:
https://www.elastic.co/guide/en/elasticsearch/reference/current/glossary.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html

原创文章,作者:iConan,如若转载,请注明出处:https://www.aspyc.com/archives/779.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据