前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【ES三周年】- Elasticsearch简介与使用环境安装

【ES三周年】- Elasticsearch简介与使用环境安装

原创
作者头像
用户6044099
发布2023-02-23 13:17:34
2770
发布2023-02-23 13:17:34
举报
文章被收录于专栏:Elastic-search

elasticsearch基础介绍

简介

1. 是什么?

Elasticsearch 是一个分布式高扩展高实时搜索与数据分析引擎。

Elasticsearch是与名为Logstash的数据收集和日志解析引擎以及名为Kibana的分析和可视化平台一起开发的。这三个产品被设计成一个集成解决方案,称为“Elastic Stack”(以前称为“ELK stack”)。

2. 能干什么?

它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。

Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。

Elasticsearch是分布式的,这意味着索引可以被分成分片,每个分片可以有0个或多个副本。每个节点托管一个或多个分片,并充当协调器将操作委托给正确的分片。再平衡和路由是自动完成的。相关数据通常存储在同一个索引中,该索引由一个或多个主分片和零个或多个复制分片组成。一旦创建了索引,就不能更改主分片的数量。

3. 实现原理

  1. 首先用户将数据提交到Elasticsearch 数据库中
  2. 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据
  3. 当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。

Elasticsearch使用Lucene,并试图通过JSON和Java API提供其所有特性。它支持facetting和percolating,如果新文档与注册查询匹配,这对于通知非常有用。另一个特性称为“网关”,处理索引的长期持久性;例如,在服务器崩溃的情况下,可以从网关恢复索引。Elasticsearch支持实时GET请求,适合作为NoSQL数据存储,但缺少分布式事务。

Elasticsearch数据存储与关系型数据库的比较

Elasticsearch 是面向文档型数据库,一条数据在这里就是一个文档。

Elasticsearch数据存储与关系型数据库数据储存有以下联系:

在这里插入图片描述
在这里插入图片描述

Elasticsearch的安装

下载

Elasticsearch官网:https://www.elastic.co/cn/

Elasticsearch下载地址:https://www.elastic.co/cn/downloads/elasticsearch

从官网下载Elasticsearch压缩包,然后解压即可使用。

目录结构

Elasticsearch解压后的目录结构如下:

在这里插入图片描述
在这里插入图片描述

各目录的解释如下:

目录

含义

bin

可执行脚本目录

config

配置目录

jdk

内置 JDK 目录

lib

类库

logs

日志目录

modules

模块目录

plugins

插件目录

运行

解压后,进入bin目录,双击elasticsearch.bat运行。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Elasticsearch启动后会暴露两个端口:

  • 9300 端口为 Elasticsearch 集群间组件的通信端口
  • 9200 端口为浏览器访问的 http协议 RESTful 端口。

测试

在浏览器访问: http://localhost:9200/。

返回如下信息表示Elasticsearch安装启动成功:

在这里插入图片描述
在这里插入图片描述

RESTful

REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。 Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合云计算之类的环境。客户端可以缓存数据以改进性能。

在 REST 样式的 Web 服务中,每个资源都有一个地址。资源本身都是方法调用的目标,方法列表对所有资源都是一样的。这些方法都是标准方法,包括 HTTP GET、POST、PUT、DELETE,还可能包括 HEAD 和 OPTIONS。

RESTful具备如下特点:

  • 每一个URI代表1种资源;
  • 客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作: GET:用来获取资源, POST:用来新建资源(也可以用于更新资源), PUT:用来更新资源, DELETE:用来删除资源;
  • 通过操作资源的表现形式来操作资源;
  • 资源的表现形式是XML或者HTML;
  • 客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • elasticsearch基础介绍
    • 简介
      • 1. 是什么?
      • 2. 能干什么?
      • 3. 实现原理
    • Elasticsearch数据存储与关系型数据库的比较
    • Elasticsearch的安装
      • 下载
        • 目录结构
          • 运行
            • 测试
            • RESTful
            相关产品与服务
            Elasticsearch Service
            腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档