目录
一、Elasticsearch介绍
# 大规模数据如何存储和检索---》elasticsearch
# Elasticsearch 是一个基于Lucene的分布式搜索和分析引擎,分布式全文检索引擎,java开发,遵循apache开源协议
使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,使得全文检索变得简单
# Elasticsearch核心概念
# Cluster:集群
ES可以作为一个独立的单个搜索服务器。不过,为了处理大型数据集,实现容错和高可用性,ES可以运行在许多互相合作的服务器上。这些服务器的集合称为集群。
# Node:节点
形成集群的每个服务器称为节点。
# Shard:分片
当有大量的文档时,由于内存的限制、磁盘处理能力不足、无法足够快的响应客户端的请求等,一个节点可能不够。这种情况下,数据可以分为较小的分片。每个分片放到不同的服务器上。
当你查询的索引分布在多个分片上时,ES会把查询发送给每个相关的分片,并将结果组合在一起,而应用程序并不知道分片的存在。即:这个过程对用户来说是透明的。
# Replia:副本
为提高查询吞吐量或实现高可用性,可以使用分片副本。
副本是一个分片的精确复制,每个分片可以有零个或多个副本。ES中可以有许多相同的分片,其中之一被选择更改索引操作,这种特殊的分片称为主分片。
当主分片丢失时,如:该分片所在的数据不可用时,集群将副本提升为新的主分片
#全文检索
全文检索就是对一篇文章进行索引,可以根据关键字搜索,类似于mysql里的like语句
#与关系型数据库Mysql对比
mysql es
数据库 索引
表 类型
一行一行数据 文档
表中有一个个字段 字段
建表语句 映射mapping
增删查改语句 get,post,delete请求
# ELK是什么
ELK=elasticsearch+Logstash+kibana
elasticsearch:后台分布式存储以及全文检索
logstash: 日志加工、“搬运工”
kibana:数据可视化展示。
ELK架构为数据分布式存储、可视化查询和日志解析创建了一个功能强大的管理链。 三者相互配合,取长补短,共同完成分布式大数据处理工作
# Elasticsearch索引到底能处理多大数据
单一索引的极限取决于存储索引的硬件、索引的设计、如何处理数据以及你为索引备份了多少副本。
通常来说,一个Lucene索引(也就是一个elasticsearch分片,一个es索引默认5个分片)不能处理多于21亿篇文档,或者多于2740亿的唯一词条。但达到这个极限之前,我们可能就没有足够的磁盘空间了!
当然,一个分片如何很大的话,读写性能将会变得非常差
二、安装
# 安装jdk
第一步:下载jdk1.8
https://www.oracle.com/java/technologies/downloads/#java
# jdk ---> jre --->jvm
# java se
# java ee
# java me
第二步:一路下一步安装
# 安装es
第一步:下载安装包https://www.elastic.co/cn/downloads/elasticsearch
第二部:解压压缩包
第三步:在cmd小敲 elasticsearch 运行
第四步:在浏览器打开 http://127.0.0.1:9200/
标签:java,全文检索,介绍,索引,Elasticsearch,分片,elasticsearch,安装
From: https://www.cnblogs.com/williama/p/16614183.html