zoukankan      html  css  js  c++  java
  • Elasticsearch-基本概念

    Index、Type、Document

    1.index:索引是文档(Document)的容器,是一类文档的集合。

    1)、索引(名词)

    类比传统的关系型数据库领域来说,索引相当于SQL中的一个数据库(Database)。索引由其名称(必须为全小写字符)进行标识。

    2)、索引(动词)

    保存一个文档到索引(名词)的过程。这非常类似于SQL语句中的 INSERT关键词。如果该文档已存在时那就相当于数据库的UPDATE。

    3)、倒排索引

    关系型数据库通过增加一个B+树索引到指定的列上,以便提升数据检索速度。索引ElasticSearch 使用了一个叫做 倒排索引 的结构来达到相同的目的。

    2.type:

    在7.0开始,一个索引只能建一个Type为_doc,好像没有太多意义,所以就只能建一个了

    3.Document:Index 里面单条的记录称为Document(文档),就是数据库里的数据了

    集群、节点、分片、副本

    1、集群
    ElasticSearch集群实际上是一个分布式系统,它需要具备两个特性:

      1)高可用性

        a)服务可用性:允许有节点停止服务;

        b)数据可用性:部分节点丢失,不会丢失数据;

      2)可扩展性

        随着请求量的不断提升,数据量的不断增长,系统可以将数据分布到其他节点,实现水平扩展;

    一个集群中可以有一个或者多个节点;

    集群健康值

    green:所有主要分片和复制分片都可用
    yellow:所有主要分片可用,但不是所有复制分片都可用
    red:不是所有的主要分片都可用

    2、节点(Node)
     1)节点是什么?

        a)节点是一个ElasticSearch的实例,其本质就是一个Java进程;

        b)一台机器上可以运行多个ElasticSearch实例,但是建议在生产环境中一台机器上只运行一个ElasticSearch实例;

    Node 是组成集群的一个单独的服务器,用于存储数据并提供集群的搜索和索引功能。与集群一样,节点也有一个唯一名字,默认在节点启动时会生成一个uuid作为节点名,

    该名字也可以手动指定。单个集群可以由任意数量的节点组成。如果只启动了一个节点,则会形成一个单节点的集群。

    3、分片
    Primary Shard(主分片)

    ES中的shard用来解决节点的容量上限问题,通过主分片,可以将数据分布到集群内的所有节点之上。

    关于倒序索引:

    id name age
    1 zhang 12
    2 li 14
    3 wang 12

    这样的数据会建立一下几个索引

    name:

    term posting list
    zhang 1
    li 2
    wang 3

    age:

    term posting list
    12 [1,3]
    14 2
    Posting List

    Elasticsearch分别为每个field都建立了一个倒排索引,zhang, wang这些叫term,而[1,3]就是Posting List。存储了所有符合某个term的文档id。

     

  • 相关阅读:
    线程资料整理
    泛型委托使用
    生成树形结构的JSON字符串代码(C#)供前端Angular tree使用.
    Bootstrap学习笔记(6)
    Bootstrap学习笔记(5)
    Bootstrap学习笔记(4)
    渗透利器-kali工具 (第一章-3) Kali Linux 基础命令介绍下
    渗透利器-kali工具 (第一章-2) Kali Linux 基础命令介绍上
    渗透利器-kali工具 (第一章-1) Kali
    渗透利器-kali工具 (第一章) 前言篇
  • 原文地址:https://www.cnblogs.com/dpcn/p/14283270.html
Copyright © 2011-2022 走看看