文档章节

Elasticsearch学习(五):Elasticsearch简介

howsweet
 howsweet
发布于 2017/08/17 14:54
字数 479
阅读 55
收藏 1

一、Elasticsearch

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

1. 分布式

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

2. 实时

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

输入图片说明

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

输入图片说明

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

输入图片说明

  • 文件系统缓存写入磁盘,更新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. 分片

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

© 著作权归作者所有

共有 人打赏支持
howsweet
粉丝 4
博文 7
码字总数 6036
作品 0
济南
程序员
私信 提问
Elastic 南京 Meetup

1. 主办方 Elastic中文社区 趋势科技 2. 时间地点 活动时间:2018年6月30日 13:00 - 18:00 活动地点:雨花区软件大道48号苏豪国际广场B座 趋势科技中国研发中心(靠花神庙地铁站) 3. 报名地...

Medcl
06/04
69
0
Elastic 南京Meetup 2018

时间地点 活动时间:2018年6月30日 13:00 - 18:00 活动地点:雨花区软件大道48号苏豪国际广场B座 趋势科技中国研发中心(靠花神庙地铁站) 报名地址: http://elasticsearch.mikecrm.... 名额...

Medcl
06/14
47
0
centos 7( linux )下安装elasticsearch教程

目录 概述 环境准备 elaticsearch简介 安装elasticsearch 彩蛋 概述 很久没有写博客了,最近在做全文检索的项目,发现elasticsearch踩了不少坑,百度点进去又是坑,在此记录一下自己的踩坑历程。...

java_龙
10/15
0
0
Elastic Search学习笔记1——安装elasticsearch2.4.6

Elastic Search 简介 1.基于Apache Lucene的开源搜索引擎 2.采用Java编写 RESTful API风格 3.较容易的横向扩展 应用场景 1.海量数据分析引擎 2.数据搜索引擎 3.数据仓库 官网 https://www.el...

晨猫
03/09
0
0
Elasticsearch中文分词研究

一、ES分析器简介 ES是一个实时搜索与数据分析引擎,为了完成搜索功能,必须对原始数据进行分析、拆解,以建立索引,从而实现搜索功能; ES对数据分析、拆解过程如下: 首先,将一块文本分成...

zhaipengfei1231
04/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

我的Linux系统九阴真经

在今天,互联网的迅猛发展,科技技术也日新月异,各种编程技术也如雨后春笋一样,冒出尖来了。各种创业公司也百花齐放百家争鸣,特别是针对服务行业,新型互联网服务行业,共享经济等概念的公...

问题终结者
8分钟前
0
0
Java 使用 gson 对 json 根据 key 键进行排序

引入Google的gson jar <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.0</version>......

yh32
10分钟前
0
0
Vue.use源码解析

什么是Vue插件 关于什么是Vue插件大家可以去看官网的解释 ,总得来说就是提供一个全局注册/调用的能力。 怎么用 我们以Weex为例。 首先有一个toast.js const Toast = {}Toast.install = (Vu...

peakedness丶
17分钟前
0
0
mybatis学习(2)

http://www.mybatis.org/spring/zh/factorybean.html 参考mybatis官网 Mybatis集成Spring: 使用Spring的IOC,将sqlSession(存在事物),交给Spring管理。 1.依赖jar包 <dependency> <g......

杨健-YJ
27分钟前
2
0
ES的性能优化

我们在很多场景下会用到ES帮助我们解决搜索问题,但是很多人了解只是停留在表面,如何深入的使用ES,并做针对性的性能优化呢? 批量提交 当大量的写任务时,可以采用批量提交的方案,但是需要...

春哥大魔王的博客
28分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部