ElasticSearch中的一些基本概念

    索引词(term)

    在elasticsearch中索引词(term)是一个可以被索引的精确值。foo,Foo Foo几个单词是不相同的索引词。索引词(term)是能够经过term查询进行准确的搜索。node

    文本(text)

    文本是一段普通的非结构化文字,一般,文本会被分析称一个个的索引词,存储在elasticsearch的索引库中,为了让文本可以进行搜索,文本字段须要事先进行分析;当对文本中的关键词进行查询的时候,搜索引擎应该根据搜索条件搜索出原文本。数据库

    分析(analysis)

    分析是将文本转换为索引词的过程,分析的结果依赖于分词器,好比: FOO BAR, Foo-Bar, foo bar这几个单词有可能会被分析成相同的索引词foo和bar,这些索引词存储在elasticsearch的索引库中。当用 FoO:bAR进行全文搜索的时候,搜索引擎根据匹配计算也能在索引库中搜索出以前的内容。这就是elasticsearch的搜索分析。json

wKioL1awuJLRbqSdAAAwY15mUg0234.png

    集群(cluster)

    一个集群由一个或多个共享相同的群集名称的节点组成。每一个群集有一个单独的主节点,这是由程序自动选择,若是当前主节点失败,程序会自动选择其余节点做为主节点。数组

   节点(node)

    一个节点属于一个集群。一般状况下一个服务器有一个节点,但有时候为了测试方便,一台服务器也能够有多个节点。在启动时,一个节点将使用广播来发现具备相同群集名称的现有群集,并将尝试加入该群集。服务器

    路由(routing)

    当存储一个文档的时候,他会存储在一个惟一的主分片中,具体哪一个分片是经过散列值的进行选择。默认状况下,这个值是由文档的id生成。若是文档有一个指定的父文档,从父文档ID中生成,该值能够在存储文档的时候进行修改。app

    分片(shard)

    分片是一个单一的Lucene实例。这个是由Elasticsearch管理的比较底层的功能。索引是指向主分片和副本分片的逻辑空间。对于使用,只须要指定分片的数量,其余不须要作过多的事情。在开发使用的过程当中,咱们对应的对象都是索引,Elasticsearch会自动管理集群中全部的分片,当发生故障的时候,一个Elasticsearch会把分片移动到不一样的节点或者添加新的节点。elasticsearch

    主分片(primary shard)
ide

    每一个文档都存储在一个分片中,当你存储一个文档的时候,系统会首先存储在主分片中,而后会复制到不一样的副本中。默认状况下,一个索引有5个主分片。你能够在事先制定分片的数量,当分片一旦创建,分片的数量则不能修改。性能

    副本分片(replica shard)

    每个分片有零个或多个副本。副本主要是主分片的复制,其中有两个目的:测试

    一、增长高可用性:当主分片失败的时候,能够从副本分片中选择一个做为主分片。

    二、提升性能:当查询的时候能够到主分片或者副本分片中进行查询。默认状况下,一个主分配有一个副本,但副本的数量能够在后面动态的配置增长。副本必须部署在不一样的节点上,不能部署在和主分片相同的节点上。

wKiom1awuCWwmuxwAAAtd02WpPI312.png

    索引(index)

    索引就像关系数据库中的数据库,每一个索引有不一样字段,能够对应不一样的类型;每一个索引均可以有一个或者多个主索引片,同时每一个索引还能够有零个或者多个副本索引片。

    类型(type)

    类型相似关系数据库中的表。每种类型均可以指定不一样的列。映射定义文档中的每一个字段的类型,并能够指定如何分析。

    文档(document)

    一个文档是一个JSON格式的字符串存储在Elasticsearch中。它就像在关系数据库中的表中的一行。每一个存储在索引中的一个文件都有一个类型和一个id,每一个文件都是一个json对象,存储了零个或者多个字段,或者键值对。原始的json文档被存储在一个叫作_source的字段中。当搜索文档的时候默认返回的就是这个字段。

    映射(mapping)

    映射像关系数据库中的表结构,每个索引都有一个映射,它定义了索引中的每个字段类型,以及一个索引范围内的设置。一个映射能够事先被定义,或者在第一次存储文档的时候自动识别。

    字段(field)

    一个文档中包含零个或者多个字段,字段能够是一个简单的值(例如字符串、整数、日期),也能够是一个数组或对象的嵌套结构。字段相似于关系数据库中的表中的列。每一个字段都对应一个字段类型,例如整数、字符串、对象等。字段还能够指定如何分析该字段的值。

    来源字段(source field)

    默认状况下,你的原文档将被存储在_source这个字段中,当你查询的时候也是返回这个字段。这容许您能够从搜索结果中访问原始的对象,这个对象返回一个精确的json字符串,这个对象不显示索引分析后的其余任何数据。

    主键(id)

    id是一个文件的惟一标识,若是在存库的时候没有提供id,系统会自动生成一个id,文档的index/type/id必须是惟一的。

     secisland后续会逐步对Elasticsearch的最新版本的各项功能进行分析,近请期待。

相关文章
相关标签/搜索