zoukankan      html  css  js  c++  java
  • Elasticsearch基础

      Elasticsearch是一个开源搜索服务器项目,是优秀的全文搜索和分析引擎。

    1.数据架构的主要概念

      (1)索引

        索引(index)是Elasticsearch对逻辑数据的存储,所以它可以分为更小的部分。可以看作关系型数据的表。

        Elasticsearch可以把索引放在一台机器或分散在多台服务器上,每个索引有一个或多个分片(shard),每个分片可以有多个副本。

      (2)文档

        存储在Elasticsearch中的主要实体叫做文档(document)。可以看作关系型数据库的一行记录。

        文档由多个字段组成,每个字段可以多次出现在一个文档中,这样的字段叫做多值字段。每个字段是有类型,如文本,数值,日期等。字段也可以是复杂类型,一个字段包含其他子文档或数组。

        字段类型在Elasticsearch中很重要,因为它给出了各种操作(如分析或排序)如何被操作的信息。文档不需要固定的结构,每个文档可以有不同的字段。

      (3)文档类型

        在Elasticsearch中,一个索引对象可以存储多个不同用途的对象。如一个博客引用程序中可以保存文章和评论。

      (4)映射

        Elasticsearch在映射中存储有关字段的信息,如数值字段和从网页上抓取的文本字段需要有不同的分析。每个文档类型都有自己的映射,即使我们没有定义。

      从上面我们知道Elasticsearch把数据存储在一个或多个索引上,每个索引包含各种类型的文档。每个文档有很多字段,映射定义了Elasticsearch如何字段这些字段。

    2.Elasticsearch主要概念

      (1)节点和集群

        Elasticsearch可以作为一个独立的单个搜索服务器,不过为了处理大型数据集,实现容错和高可用,Elasticsearch可以运行在多台服务器上,这些服务器组成集群,单台服务器成为节点。

      (2)分片

        在处理大量数据时,单个节点由于内存有限、磁盘有限,从而无法快速响应客户端请求,这种情况下,数据可以分为较小的部分(分片),每个分片在不同服务器上,最后把结果合并起来。

        分片能加快索引。

      (3)副本

        副本只是一个分片的精确复制,每个分片可以有零个或多个副本。也就是说Elasticsearch可以有多个相同的分片,其中之一被选择去更改索引操作,这个分片称为主分片,其余是副分片,当主分片丢失时,集群会把副本提升为主分片。

  • 相关阅读:
    android系统属性获取及设置
    Android Strings.xml To CSV / Excel互转
    android adb命令 抓取系统各种 log
    Android开源日志库Logger的使用
    解决git仓库从http转为ssh所要处理的问题
    PHP中var_dump
    oracle文字与格式字符串不匹配的解决
    Apache服务器和tomcat服务器有什么区别?
    【手把手教你Maven】构建过程
    Spring MVC页面重定向
  • 原文地址:https://www.cnblogs.com/parryyang/p/5996485.html
Copyright © 2011-2022 走看看