一、索引词
在elastiasearch中索引词(term)是一个能够被索引的精确值。foo,FOO,Foo几个单词是不同的索引词。索引词(term)是可以通过term查询进行呢准确的搜索。
二、文本(text)
文本一个段普通的非结构化文字。通常,文本会被分拆成一个个的索引词,存储在elasticsearch的索引库中。为了让文本能够进行搜索,文本字段需要事先进行分析;当对文本的关键字进行查询的时候,搜索引擎应该根据搜索条件搜索出原文本。
三、分析(analysis)
分析是将文本转换为索引词的过程,分析的结果依赖于分词器。比如:FOO BAR,Foo-Bar和foo bar这几个词有可能会被分析成相同的索引词foo和bar,这些索引词存储在Elasticseatch的索引库。
四、集群
集群由一个或多个节点组成,对外提供服务,对外提提供索引和搜索功能。在所有节点,一个集群有一个唯一的名称默认为“”elasticsearch“,此”此名称是很重要的,因为每个节点只能是集群的一部分,当该节点被设置为相同的集群时,就会自动加入集群。当需要都多个集群的时候,要确保每个集群的名称不能重复,否则节点可能会加入到错误的集群中。请注意,一个节点只能加入到一个集群。此外,你还可以拥有多个独立的集群,每个集群都有其不同的集群名称。
五、节点(node)
一个节点是一个逻辑上独立的服务,他是集群的一部分,可以存储数据。并参与集群的索引和搜索功能。就像集群一样,节点也有唯一的名字,在启动的时候分配。如果你不想要默认名称,你可以定义任何你想要的的节点名,这个名字在理中很重要,在Elasticseatch的集群通过节点名称进行管理和通信,一个节点可以被配置加入到一个特定的集群。默认情况下,每个节点会加人名为Elasticseatch的集群中,你可以拥有多个想要的节点。当网络没有集群运行的时候,只要启动一个节点,这个节点会默认生成为一个新的集群,这个集群会有一个节点。
六、分片(shard)
分片是单个Lucene实例,这是个Elasticsearch管理的比较底层的功能。索引是指向主分片和副本分片的逻辑空间。对于使用,只需要指定分片的数据量,其他不需要做过多的事情。在开发使用的过程中,我们对应的对象都是索引,Elasicseatch会自动管理集群中的所有的分片,当发生故障的时候,Easticsearch会把分片移动到不同的几点或者添加新的节点。一个索引可以存储很大的数据,这些空间可以超过一个节点的物理存储这么多的数据,为了解决这以问题,Elasticseatch将索引搜索可能会很慢,还有一个物理机也不一定能存储这么的数据。为了解决这一问题,Elasticeatch将索引分解成多个分片。当你创建一个索引,你可以简单的定义你想要的的分片数量,每个分片本身是一个全功能的、独立的单元,可以在托管在集群中的任何节点。
七、主分片
每个文档都存储在一个分片中,当你存储一个文档的时候,系统会首先存储在主分片中,然后会复制到不同的副本中。默认情况下一个索引有5个主分片。你可以事先指定分片的数量,当分片一旦建立,则分片的数量不能修改。
八、副本分片
每个分片有0个或多个副本,副本主要是主分片的复制,其中有俩个目的的;
-增加高可用性:当主分片失败的时候,可以从副本分片中选择一个作为主分片。
-提高性能:当查询的时候可以到主分片或者副本分片中进行查询,默认情况下,一个主分片配有一个副本,但是副本的数量可以在后面动态地配置增加。副本分片必部署在不同的节点上,不能部署在和主分片相同的节点上。
九、分片主要有俩个很重要的原因是:
-允许水平分割扩展数据。
-允许分配和并行操作(可能在多个节点上)从而提高性能和吞吐量。
这些很强大的功能对用于来说是透明的,你不需要做什么操作,系统会自动处理;
-----------------------------
三种交互方式
RESTful API
curl命令:
最繁琐
最复杂
最容易出错
不需要安装任何软件,只需要有curl命令
es-head插件
查看数据方便
操作相对容易
需要node环境
kibana
查看数据以及报表格式丰富
操作很简单
需要java环境和安装配置kibana
有问题请加博主微信进行沟通!
全部评论