EelasticSearch是什么?及EelasticSearch的安装

一、概述

Elasticsearch 是一个基于 Apache Lucene 构建的开源分布式搜索引擎和分析引擎。它专为云计算环境设计,提供了一个分布式的、高可用的实时分析和搜索平台。Elasticsearch 可以处理大量数据,并且具备横向扩展能力,能够通过增加更多的硬件资源来应对数据和查询量的增长。

Elasticsearch 的核心特点包括:

  1. 全文搜索:支持对各种类型的数据(包括结构化、半结构化和非结构化文本数据)进行快速高效的全文本搜索。

  2. 分布式:数据在集群中的多个节点间分布和复制,确保高可用性和容错性,同时也支持水平扩展,以应对更大的数据量和更高的并发访问。

  3. 实时性:数据一旦写入 Elasticsearch,几乎可以立即被搜索到,提供近乎实时的搜索体验。

  4. 分析能力:内置丰富的数据分析工具,包括聚合分析(Aggregations)和其他统计功能,便于用户对数据进行深入挖掘和洞察。

  5. 多租户:支持索引级别的隔离,每个索引可以配置分片数量和副本数量,以满足不同业务场景的需求。

  6. RESTful API:通过 HTTP/HTTPS 协议提供 JSON 格式的 REST API 接口,易于与其他系统集成,支持多种开发语言调用。

  7. 灵活的文档模型:无需预定义严格的表结构,而是采用动态 schema 或映射,可以根据文档内容自动识别数据类型和结构。

Elasticsearch 被广泛应用在日志分析、监测数据、企业搜索、电子商务搜索、实时分析等多个领域,并常与 Logstash(日志收集和处理工具)、Kibana(数据可视化平台)共同构成 Elastic Stack(原 ELK Stack),形成一套完整的日志管理和数据分析解决方案。

二、什么场景会用到Elasticsearch

  1. 全文搜索

  2. 电商搜索:快速查找商品信息,支持模糊匹配、关键词高亮显示、过滤、排序等功能。

  3. 站内搜索:网站内部的页面、文章、博客等内容的搜索,提供类似Google的搜索体验。

  4. 文档管理系统:企业级文档搜索,如办公文档、合同、法律文件等的高效检索。

  5. 论坛和社交媒体:用户发表的内容搜索,如帖子、评论、话题等。

  6. 日志分析与监控

  7. 服务器日志:收集、索引和分析服务器产生的各类日志,用于故障排查、性能优化、安全审计等。

  8. 应用日志:跟踪应用程序的行为,帮助开发人员迅速定位错误、诊断问题。

  9. 运维监控:收集系统指标、网络流量数据,实时或历史数据分析,可视化展示系统状态和趋势。

  10. 数据分析

  11. 业务分析:实时或批量分析业务数据,生成报表,进行趋势分析、关联分析等。

  12. 时序数据分析:存储和分析时间序列数据,例如设备传感器数据、用户行为数据等。

  13. NoSQL JSON文档数据库

  14. 作为JSON文档数据库使用,存储和检索半结构化数据,支持地理位置查询和混合查询。

  15. 搜索推荐

  16. 实现个性化搜索和推荐功能,根据用户的搜索历史和行为模式,智能推荐相关内容。

  17. 地理信息系统

  18. 存储和查询带有地理位置信息的数据,构建地图应用、位置服务等相关功能。

  19. 大规模监控系统

  20. 结合Logstash和Kibana,搭建ELK Stack,进行大规模分布式环境下的日志集中管理、实时分析和可视化展示。

总之,Elasticsearch 适合那些需要对大量数据进行快速检索、实时分析和可视化展现的应用场景,特别是在处理非结构化或半结构化数据方面表现尤为出色。随着功能的不断丰富和完善,Elasticsearch 已经成为现代数据驱动型企业不可或缺的基础架构组件之一。

es分布式特点 :

三、Elasticsearch的安装

1.Docker安装

-e:参数是用来设置环境变量的。这个参数允许你在启动容器时定义或覆盖容器内部的环境变量。由于ES安装启动时默认占用全部内存,使用-e用来限制Elasticsearch容器内Java进程的初始堆大小(-Xms)和最大堆大小(-Xmx)。这意味着Elasticsearch启动时,其Java虚拟机将使用256MB作为最小和最大内存。

docker run -d --name es7 -e ES_JAVA_POTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" -v /opt/es7/data/:/usr/share/elasticsearch/data  -p 9200:9200 -p 9300:9300 elasticsearch:7.14.0

查看容器 

查看容器日志

 如果出现权限不足的错误,修改权限重新运行容器

 再次查看容器日志,显示正常,安装成功

 2.客户端UI工具,Edge浏览器扩展

 新增数据索引(类似于数据库中的表)

 

 ES的分词器不支持中文需要我们另外安装分词器

四、分词器安装

参考网址:https://blog.51cto.com/u_15116285/6100979

官方插件下载地址:(下载和使用要用同一版本,多版本可能不兼容)

https://github.com/medcl/elasticsearch-analysis-ik/releases

#第一步 copy 插件到容器
docker cp /opt/es7/elasticsearch-analysis-ik-7.14.0.zip 容器id:/usr/share/elasticsearch

#第二步进入你的容器
docker exec -it 容器id /bin/bash

#第三步执行如下命令,安装插件,中间会提示 Y or N,直接写 Y ,回车即可
elasticsearch-plugin install file:\/usr/share/elasticsearch/elasticsearch-analysis-ik-7.14.0.zip

#第四步退出容器
exit

#第五步重启容器
docker restart 容器ID

测试:

post _analyze
{
    "analyzer": "ik_smart",
    "text": "大学生自习室视频爆火鼻祖"
}

 

post _analyze
{
    "analyzer": "ik_max_word",
    "text": "大学生自习室视频爆火鼻祖"
}

 

分词器原理:

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/552183.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS Next 视频弹幕功能

视频弹幕功能 介绍 本示例介绍如何使用ohos.danmakuflamemaster和ohos.gsyvideoplayer开发支持视频弹幕的播放器。可以自定义弹幕样式、占据屏幕宽度,发送弹幕,开关弹幕视图。 效果图预览 使用说明 点击播放按钮,进行视频播放&#xff0c…

Windows版Apache 2.4.59解压直用(免安装-绿色-项目打包直接使用)

windows下Apache分类 Apache分为 安装版和解压版 安装版: 安装方便,下一步------下一步就OK了,但重装系统更换环境又要重新来一遍,会特别麻烦 解压版(推荐): 这种方式(项目打包特别方便&#x…

TLS v1.3 导致JetBrains IDE jdk.internal.net.http.common CPU占用高

开发环境 GoLand版本:2022.3.4 问题原因 JDK 中的 TLS v1.3 实现引起 解决办法 使用 SOCKS 代理代替HTTP代理 禁用 Space 和 Code With Me 插件 禁用 TLS v1.3,参考:https://stackoverflow.com/questions/54485755/java-11-httpclient-…

深度解析Java JDK 1.8中Stream流的源码实现:带你探寻数据流的奥秘

文章目录 一、 Stream流概述1.1 什么是Stream流,以及它的主要特点和优势1.2 Stream流的基本操作:过滤、映射、排序等 二、 Stream流源码解析2.1 接口和基本概念2.2 创建流2.3 源码分析2.3.1 流的起始2.3.2 流的初始2.3.3 认识BaseStream2.3.4 Stream接口…

【C++程序员的自我修炼】初始化列表

一半烟火以谋生 一半诗意以谋爱 契子✨ 我们之前已经讲过了构造函数的初始化:前期回顾-构造函数 但是难免会遇到连构造函数都不好解决的问题 比如: 错误示范 class A { public:A(int n){this->_a n;this->_b n;} private:const int _a;int…

JS-43-Node.js02-安装Node.js和npm

Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,可以让JavaScript实现后端开发,所以,首先在本机安装Node.js环境。 一、安装Node.js 官网:下载 Node.js 默认两个版本的下载: 64位windows系统的LTS(Long Tim…

记录一下我102连不上MySQL的问题 NotBefore

【背景描述】我在102上是能登录上MySQL的,但是用客户端(DataGrip、SQLyog就连不上) 【解决方案】 加个这个?useSSLfalse&serverTimezoneUTC 【另外的小问题】如果直接输mysql 上面这个不是报错,不用管 再输mysql -uroot -p…

Ubuntu系统安装APITable多维表格平台结合内网穿透实现公网访问

文章目录 前言1. 部署APITable2. cpolar的安装和注册3. 配置APITable公网访问地址4. 固定APITable公网地址 前言 vika维格表作为新一代数据生产力平台,是一款面向 API 的智能多维表格。它将复杂的可视化数据库、电子表格、实时在线协同、低代码开发技术四合为一&am…

mybatis-puls 条件分析插件

一,能做什么 我们在平时的开发中,会遇到一些慢sql. MP也提供了性能分析插件,如果超过这个时间就停止运行! 二,如何实现 2.1引入条件分析插件 //性能分析BeanProfile({"dev","test"}) //设置dev 和 test环境开启public Performanc…

【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题

文章目录 一、什么是时间复杂度和空间复杂度?1.1 算法效率1.2 时间复杂度的概念1.3 空间复杂度的概念1.4 复杂度计算在算法中的意义 二、时间复杂度的计算2.1 大O渐进表示法2.2 常见时间复杂度计算举例 三、空间复杂度的计算四、Leetcode刷题1. 消失的数2. 旋转数组…

探索设计模式的魅力:融合AI大模型与函数式编程、开启智能编程新纪元

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,坚持默默的做事。 ✨欢迎加入探索AI大模型与函数式编程模式融合之旅✨ 在编程世界的广阔疆域里,两大…

组织机构代码是哪几位?营业执照怎么看组织机构代码?

组织机构代码是哪几位? 组织机构代码通常指的是组织机构代码证上的一组特定数字,它用于唯一标识一个组织或机构。在中国,组织机构代码由9位数字组成,前8位是本体代码,最后1位是校验码。这组代码是按照国家有关标准编制的&#x…

第一部分-基础入门-学习导航

专题地址:MacOS一站式程序开发系列专题 第一部分:基础入门学习导航 OSX-01-Mac OS应用开发概述:简单介绍下MacOS生态、Xcode使用以及使用Xcode创建app的方法OSX-02-Mac OS应用开发系列课程大纲和章节内容设计:介绍下此系列专题的文章内容组织形式以及此系列专题的覆盖内容…

帮助中心最核心的内容,你都知道吗?

帮助中心,其实就是个解决问题的“百事通”。当你在使用某产品时,遇到了一些问题,就可以到帮助中心去查询相关的信息以解决问题。很多公司都会搭建帮助中心,那么,帮助中心的核心内容都有哪些呢?这就是今天我…

K8s拉取habor镜像

目录 在daemon.json中添加仓库地址 重新加载daemon.json并重启docker 在目标node节点添加域名 验证目标node是否能正常登录镜像仓库 创建pod资源 加载yml文件 验证 查看pod的ip与端口号 在daemon.json中添加仓库地址 此处需要在创建资源对象所在的节点进行添加 路径&a…

c++的学习之路:24、 二叉搜索树概念

摘要 本章主要是讲一下二叉搜索树的实现 目录 摘要 一、二叉搜索树概念 二、 二叉搜索树操作 1、二叉搜索树的查找 2、二叉搜索树的插入 3、二叉搜索树的删除 三、二叉搜索树的实现 1、插入 2、中序遍历 3、删除 4、查找 四、二叉搜索树的递归实现 1、插入 2、删…

Web前端-Vue组件库Element

黑马程序员JavaWeb开发教程 文章目录 一、快速入门(1)什么是Element(2)快速入门 二、常见组件1、表格2、分页(Pagination)3、表单 三、案例(1)根据页面原型完成员工管理页面开发&…

vue实现文字转语音的组件,class类封装,实现项目介绍文字播放,不需安装任何包和插件(2024-04-17)

1、项目界面截图 2、封装class类方法(实例化调用) // 语音播报的函数 export default class SpeakVoice {constructor(vm, config) {let that thisthat._vm vmthat.config {text: 春江潮水连海平,海上明月共潮生。滟滟随波千万里&#xf…

MySQL高级(性能分析-查看执行频次、慢查询日志)

目录 1、SQL性能分析 1.1、SQL执行频率 1.2、慢查询日志 1、SQL性能分析 1.1、SQL执行频率 MySQL 客户端连接成功后,通过 show [ session | global ] status 命令可以提供服务器状态信息。通过如下指令,可以查看当前数据库的 insert、update、delete、…

[CSS]样式属性+元素设置

哎呀,好多东西,根本记不住,更多的还是边用边记吧,这里的代码就当使用范例,但其实如果可以让gpt应该会更好,哎学吧,反正记得住当然更好 文本 属性名描述word-break单词换行。取值如下&#xff1…