热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Elasticsearch入门——术语及概念

Elasticsearch术语及概念1.索引词(term)索引词是一个能够被索引的精确值。2.文本文本是一段普通的非结构化文字。通常,文本会被分

Elasticsearch术语及概念

1.索引词(term)

索引词是一个能够被索引的精确值。

2.文本

文本是一段普通的非结构化文字。通常,文本会被分析成一个个的索引词,存储在Elasticsearch的索引库中。

3.分析

分析是将文本转化索引词的过程,分析的结果依赖于分词器。

4.集群

集群是由多个节点组成,对外提供服务,对外提供索引和搜索功能。一个集群有多个节点,但一个节点只能加入一个集群。

5.节点

一个节点是一个逻辑上独立的的服务,它是集群的一部分,可以存储数据,并参与集群的索引和搜索功能。默认情况下,每个节点会加入名为Elasticsearch的集群中,这就意味着如果你在网络上启动多个节点,如果网络畅通,每个节点会自动加入一个名为Elastisearch的集群中。

6.路由

当存储一个文档的时候,它会存储在唯一的主分片中,具体哪个分片是通过散列值进行选择。默认情况下,这个值由文档的ID生成。如果文档有一个指定的父文档,则从父文档的ID生成,该值可以在存储文档时进行修改。

7.分片

分片是单个Lucene实例,这是Elasticsearch管理比较底层的功能。索引是指向主分片和副分片的逻辑空间。

8.主分片

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

9.副本分片

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


  • 增加高可用性:当主分片失败的时候,可以从副本分片中选择一个作为主分片。
  • 提高性能:当查询的时候可以到主分片或者副本分片上进行查询。默认情况下,一个主分片配有一个副本,但是副本的数量可以在后面动态地配置增加。副本分片必须部署在不同的节点上,不能部署在和主节点相同的节点上。

分片主要有两个重要原因:


  • 允许水平分割扩展数据。
  • 允许分配和并行操作(可能在多个节点上)从而提高性能和吞吐量。

10.复制

复制很重要,主要原因有:


  • 它提供了高可用性,当节点失败时不受影响。一个复制的分片不会存储在同一个节点上。
  • 它允许你扩展搜索量,提高并发量,因为搜索可以在所有副本上并发执行。

11.索引

索引是具有相同结构的文档集合。

12.类型

在索引中可以定义一个或多个类型,类型是索引的逻辑分区。一般情况下,一种类型被定义为具有一组公共字段的文档。

13.文档

文档是存储在Elasticsearch中的一个JSON格式字符串。

14.映射

映射像关系数据库中的表结构,每个索引都有一个映射,它定义了索引中的每一个字段类型,以及一个索引范围内的设置。

15.字段

文档中包含零个或多个字段,字段可以是一个简单的值,也可以是一个数组或对象的嵌套结构。

16.来源字段

默认情况下,你的原文档将被存储在_source这个字段中,当你查询时,也是返回这个字段。

17.主键(ID)

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


推荐阅读
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • 广度优先遍历(BFS)算法的概述、代码实现和应用
    本文介绍了广度优先遍历(BFS)算法的概述、邻接矩阵和邻接表的代码实现,并讨论了BFS在求解最短路径或最短步数问题上的应用。以LeetCode中的934.最短的桥为例,详细阐述了BFS的具体思路和代码实现。最后,推荐了一些相关的BFS算法题目供大家练习。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • C语言注释工具及快捷键,删除C语言注释工具的实现思路
    本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • Excel数据处理中的七个查询匹配函数详解
    本文介绍了Excel数据处理中的七个查询匹配函数,以vlookup函数为例进行了详细讲解。通过示例和语法解释,说明了vlookup函数的用法和参数的含义,帮助读者更好地理解和运用查询匹配函数进行数据处理。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 本文介绍了一个React Native新手在尝试将数据发布到服务器时遇到的问题,以及他的React Native代码和服务器端代码。他使用fetch方法将数据发送到服务器,但无法在服务器端读取/获取发布的数据。 ... [详细]
  • python3 nmap函数简介及使用方法
    本文介绍了python3 nmap函数的简介及使用方法,python-nmap是一个使用nmap进行端口扫描的python库,它可以生成nmap扫描报告,并帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。文章详细介绍了python-nmap的几个py文件的功能和用途,包括__init__.py、nmap.py和test.py。__init__.py主要导入基本信息,nmap.py用于调用nmap的功能进行扫描,test.py用于测试是否可以利用nmap的扫描功能。 ... [详细]
  • 摘要1:ElasticSearch比较两个时间的大小_gaojie_csdn的博客-CSDN博客_es时间比较摘要2:zlasticsearch脚本教 ... [详细]
author-avatar
独孤依人x_762
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有