Elasticsearch学习系列之一:基础知识与软件安装

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 本文主要介绍了Elasticsearch是什么以及解决什么样的问题可以用到它,同时对Elasticsearch的核心概念以及安装做了说明,旨在让大家对Elasticsearch有个初步的认识。

引言

从本文开始主要介绍当下比较火的Elasticsearch相关的内容。学习一项新技术大致会按照这项技术是什么、它可以解决什么问题,如何使用、使用的原理是什么我们能做什么样的拓展这样的套路来进行。那本文主要介绍Elasticsearch是什么以及能解决什么问题。

  • 基本概念
  • Elasticsearch安装
  • 总结

一、基本概念

1、Elasticsearch是什么

Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。它是一个分布式、RESTful 风格的搜索和数据分析引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎。Elasticsearch支持分布式,可以轻松扩展至


2、Elasticsearch主要解决什么问题

当数据达到亿级别时,我们想搜索数据


3、Elasticsearch核心概念

下表为关系性数据库与Elasticsearch之间的概念对比,如下所示:

RDBMS Elasticsearch
Table Index(Type)
Row Document
Column Field
Schema Mapping
SQL DSL

NRT(Near Realtime)

Elasticsearch是近实时的,它是个分布式系统,不但要对数据进行持久化同时需要将数据解构 为方便进行全文检索的数据结构。


Node

节点就是Elasticsearch的实例,主要x向外界提供数据的存储以及集群的搜索与索引功能。节点的名字全局唯一。


Cluster

集群,所谓集群即为一个节点或者多个节点的集合。共同提供存储以及全文检索的服务。集群的名称也是全局唯一的,Elasticsearch集群是自组织的,只需要将节点指定为对应集群名称下的节点即可。


Document

所谓文档,即相当于关系型数据库中的一行数据。文档是构建索引的基本单元。譬如一条用户数据、一条订单数据都可以看作为一个文档。文档都是以Json格式进行描述,Json是一种普遍使用的互联网数据格式。在index中可以存储任意数量的文档。


Index

分为两层意思,一是建立索引,而是对应的索引文件。索引一个文档就是存储一个文档到一个索引 (名词)中以便被检索和查询。


Shard and Replicas

Elasticsearch是分布式搜索引擎,每个索引都有一个或多个分片,索引的数据被分配到各个分片上, 这就相当于一堆沙子可以由不同的容器来装。

复制即为分片的备份。


4、Elasticsearch特性

(1)分布式高可用搜索引擎

(2)多租户


支持多个索引

支持索引级别配置

(3)丰富的API


提供HTTP RESTful API接口,便于调用集成

Java 本地 API

所有API都执行自动节点操作重路由

(4)面向文档


不需要预先定义模式

模式可以用来对索引过程进行自定义

(5)可靠的异步写后置,可实现长期持久性


(6)近实时查询


(7)以Lucene库为基础


每个分片都是一个功能齐全的Lucene索引

Lucene的所有功能都很容易通过简单的配置/插件暴露出来

(8)每次操作保持一致性


单文档级别的操作具有原子性、一致性、隔离性和持久性


二、Elasticsearch安装

下载网址:https://www.elastic.co/cn/downloads/

Github地址:https://github.com/elastic/elasticsearch

Elasticsearch安装目录如下:

目录名称 配置文件 功用描述
bin 包含很多脚本文件,如启动脚本等,安装插件还有其他
config elasticsearch.yml 集群配置文件、user等配置信息
jdk java运行环境
data path.data 运行数据文件
lib path.data java的类库
logs path.log 相关日志文件
plugins 包含所有已安装插件

三、总结

本文主要介绍了Elasticsearch是什么以及解决什么样的问题可以用到它,同时对Elasticsearch的核心概念以及安装做了说明,旨在让大家对Elasticsearch有个初步的认识。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
28天前
|
自然语言处理 Java 网络架构
elasticsearch学习三:elasticsearch-ik分词器的自定义配置 分词内容
这篇文章是关于如何自定义Elasticsearch的ik分词器配置以满足特定的中文分词需求。
110 0
elasticsearch学习三:elasticsearch-ik分词器的自定义配置 分词内容
|
28天前
|
JSON Java 网络架构
elasticsearch学习四:使用springboot整合 rest 进行搭建elasticsearch服务
这篇文章介绍了如何使用Spring Boot整合REST方式来搭建和操作Elasticsearch服务。
104 4
elasticsearch学习四:使用springboot整合 rest 进行搭建elasticsearch服务
|
28天前
|
自然语言处理 搜索推荐 关系型数据库
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
这篇文章是关于Elasticsearch全文搜索引擎的学习指南,涵盖了基本概念、命令风格、索引操作、分词器使用,以及数据的增加、修改、删除和查询等操作。
17 0
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
|
28天前
|
Web App开发 JavaScript Java
elasticsearch学习五:springboot整合 rest 操作elasticsearch的 实际案例操作,编写搜索的前后端,爬取京东数据到elasticsearch中。
这篇文章是关于如何使用Spring Boot整合Elasticsearch,并通过REST客户端操作Elasticsearch,实现一个简单的搜索前后端,以及如何爬取京东数据到Elasticsearch的案例教程。
164 0
elasticsearch学习五:springboot整合 rest 操作elasticsearch的 实际案例操作,编写搜索的前后端,爬取京东数据到elasticsearch中。
|
28天前
|
自然语言处理 Java Maven
elasticsearch学习二:使用springboot整合TransportClient 进行搭建elasticsearch服务
这篇博客介绍了如何使用Spring Boot整合TransportClient搭建Elasticsearch服务,包括项目创建、Maven依赖、业务代码和测试示例。
76 0
elasticsearch学习二:使用springboot整合TransportClient 进行搭建elasticsearch服务
|
28天前
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
96 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
|
6月前
|
存储 缓存 自然语言处理
Elasticsearch框架学习的难点和重点有哪些
Elasticsearch是基于Lucene的开源搜索引擎,广泛应用于全文检索和日志分析。学习重点包括理解节点、集群、索引、分片和副本等基本概念,掌握数据索引、查询DSL、聚合和性能优化。倒排索引和分词器是全文搜索的核心,集群管理和监控对于稳定性至关重要。实践中需根据数据量和查询模式优化分片策略,利用缓存提升搜索性能。学习Elasticsearch要结合实际项目,关注官方文档和社区资源。【5月更文挑战第6天】
|
6月前
|
人工智能 架构师 开发者
大模型时代,该如何更好的学习 Elasticsearch?
大模型时代,该如何更好的学习 Elasticsearch?
59 0
|
SQL JSON 自然语言处理
Elasticsearch学习随笔与Scrapy中Elasticsearch的应用
Elasticsearch学习随笔与Scrapy中Elasticsearch的应用
|
6月前
|
存储 网络协议 Java
玩转Elasticsearch—基础知识
玩转Elasticsearch—基础知识
63 0

热门文章

最新文章

下一篇
无影云桌面