Elasticsearch学习(五):Elasticsearch简介

Stella981
• 阅读 679

一、Elasticsearch

Elasticsearch是一个基于Apache Lucene的开源的实时分布式搜索和分析引擎。

1. 分布式

  • 低成本,高可用,高效
  • 配置简单,轻松搭建集群,易扩展

2. 实时

  • 当前索引有 3 个文档可用

Elasticsearch学习(五):Elasticsearch简介

  • 新加入一个文档,数据先进入内存buffer

Elasticsearch学习(五):Elasticsearch简介

  • 内存buffer刷到文件系统缓存中(默认这个时间需要1s),此时新文档已经被索引,可以搜索

Elasticsearch学习(五):Elasticsearch简介

  • 文件系统缓存写入磁盘,更新commit文件

3. 分析

提供各种丰富的查询子句,不仅可以实现全文检索,更能对海量数据进行聚合分析。

二、elasticsearch基本概念

1. 索引

  • 索引(indexing) 在Elasticsearch中存储数据的行为

  • 倒排索引(inverted index) Elasticsearch中存储数据的数据结构,加速文档检索

    Doc0:"it is what it is"
    Doc1:"what is it"
    Doc2:"it is a banana"
    

    反向文件索引

    "a":      {2}
    "banana": {2}
    "is":     {0, 1, 2}
    "it":     {0, 1, 2}
    "what":   {0, 1}
    

    完全反向索引

    "a":      {(2, 2)}
    "banana": {(2, 3)}
    "is":     {(0, 1), (0, 4), (1, 1), (2, 1)}
    "it":     {(0, 0), (0, 3), (1, 2), (2, 0)} 
    "what":   {(0, 2), (1, 0)}
    
  • 索引(index) 相关文档存储的地方,等同于传统关系数据库中的数据库概念

2. 类型(type)

类型存在于索引(index)中,等同于传统关系数据库中的表概念

3. 文档(document)

文档归属于一种类型(type),等同于传统关系数据库中的行概念

Relational DB -> Databases -> Tables -> Rows -> Columns
Elasticsearch -> Indices   -> Types  -> Documents -> Fields

Elasticsearch集群可以包含多个索引(indices)(数据库),
每一个索引可以包含多个类型(types)(表),
每一个类型包含多个文档(documents)(行),
然后每个文档包含多个字段(Fields)(列)。

4. 分片

存储文档数据的容器,被均匀的分配到各个节点,保证索引和搜索的负载均衡。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
Elasticsearch学习总结一 基本用法及概念
一.Elasticsearch是一个基于Lucene的实时的分布式搜索和分析引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。基于RESTful接口二.ES中的核心概念集群(Cluster):ES是一个分布式的搜索引擎,一般由多台物理机组成。这些物理机,通过配置一个相同的clustername,互相发现,把自己
Stella981 Stella981
3年前
ElasticSearch(增put、删delete、改(本质是先删除后添加)post、查get、post)
一、ElasticSearch简介1.1什么是ElasticSearchElasticSearch,简称es,es是一个开源的高扩展的分布式全文搜索引擎,可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理pb级别的数据。es也使用java开发并使用Lucene作为其核心来实现所有索
Stella981 Stella981
3年前
Elasticsearch与Solr优缺点比较
Elasticsearch简介Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。它可以用于全文搜索,结构化搜索以及分析,也可以将这三者进行组合。Elasticsearch是一个建立在全文搜索引擎ApacheLucene™基础上的搜索引擎,可以说Lucen
Stella981 Stella981
3年前
071. ElasticSearch 应用场景及核心概念
1\.ES使用场景给网站/APP添加搜索功能。存储、分析数据。管理、交互、分析空间信息,将ES用于GIS。2\.ES简介Elasticsearch是一个基于Lucene构建的开源、分布式、RESTful接口全文检索引擎。Elast
可莉 可莉
3年前
071. ElasticSearch 应用场景及核心概念
1\.ES使用场景给网站/APP添加搜索功能。存储、分析数据。管理、交互、分析空间信息,将ES用于GIS。2\.ES简介Elasticsearch是一个基于Lucene构建的开源、分布式、RESTful接口全文检索引擎。Elast
Stella981 Stella981
3年前
ElasticSearch学习汇总
什么是ElasticSearch?ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch能够做到实时搜索并且稳定,
Wesley13 Wesley13
3年前
ELK初探
EKL核心组成1.ElasticSearch开源分布式搜索引擎,他的特点是分布式、零配置、自动发现、索引自动分片,索引副本机制,restful接口,多数据源,自动搜索负载。安装ElasticSearch  高可用,易扩展,支持集群(cluster),分片和复制(sharding和replicas)验证启动:curlXGETht
京东云开发者 京东云开发者
10个月前
ElasticSearch集群灾难:别放弃,也许能再抢救一下 | 京东云技术团队
1前言Elasticsearch作为一个分布式搜索引擎,自身是高可用的;但也架不住一些特殊情况的发生,如:集群超过半数的master节点丢失,ES的节点无法形成一个集群,进而导致集群不可用;索引shard的文件损坏,分片无法被正常恢复,进而导致索引无法正常