EelasticSearch的介绍和基于docker安装

Easy-es太绝了,妈妈再也不用担心es太难用了 这就是Easy-es的基础使用了,先作为Easy-es使用的第一篇,后续会针对原理,以及不同的分词器、数据同步等做一个讲解,需要对你有所帮助。如果需要源码,可以关注一下公众号,回复项目源码即可。 阅读详情

1.概述

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),形成一套完整的日志管理和数据分析解决方案。

2.什么场景会用到Elasticsearch

全文搜索:

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

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

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

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

日志分析与监控:

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

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

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

数据分析:

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

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

NoSQL JSON文档数据库:

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

搜索推荐:

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

地理信息系统:

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

大规模监控系统:

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

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

EelasticSearch安装

1.Docker安装

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浏览器扩展

3.分词器安装

3.1为什么要安装分词器?

在 Elasticsearch 的 IK Analyzer 中,ik_smart和 ik_max_word 是IK 分词器针对中文分词提供的两种策略,但分词效果和粒度不同:

ik_smart: 这种模式更侧重于保持语义完整性,尽量进行较少的、更有意义的拆分,减少无意义的子词组合,提高搜索准确率,降低误报率。

示例:“中华人民共和国人民大会堂” 分词结果(ik_smart)可能只有:“中华人民共和国”、“人民大会堂”等较完整、更具实际意义的词语组合。

ik_max_word: 此模式致力于最大化地拆分文本,即尽可能多地生成可能的词语组合,包括单字、双字直至整个短语。它的特点是尽力穷举所有可能的词汇,提高召回率,但在某些情况下可能会造成噪声较多。

示例:“中华人民共和国人民大会堂” 分词结果(ik_max_word)可能包括:中华人民共和国、中华人民、中华、华人、人民共和国、人民、共和国、大会堂、大会、会堂等。

简单来说,ik_max_word 更倾向于全面细致的分词,而 ik_smart 则偏向于精简和精准的分词。在实际应用场景中,选择哪种模式取决于项目的具体需求,如是否需要扩大搜索覆盖面还是提高搜索准确性。

3.2安装

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

 官方插件下载地址:

Releases · infinilabs/analysis-ik · GitHub

#第一步 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 

4.使用客户端查看 

post _analyze                                                  post _analyze

{                                                                        {

"analyzer": "ik_smart",                                        "analyzer": "ik_max_word",

"text": "大学生自习室视频爆火鼻祖"                    "text": "大学生自习室视频爆火鼻祖"

}                                                                        }

5.原理 

SpringBoot整合easy-es ‌‌EasyES是一款基于Elasticsearch官方提供的RestHighLevelClient开发的ORM框架,旨在简化开发流程并提高效率。‌ EasyES在保持RestHighLevelClient原有功能的基础上进行增强,而不做任何改变。它采用与相似的语法,使得开发者可以无缝迁移至EasyES,无需额外学习成本。EasyES的核心理念是将简单、易用性留给用户,将复杂性留给框架,致力于成为全球最受欢迎的ElasticSearch搜索引擎开发框架‌。easy-es官网。 阅读详情

相关推荐

EelasticSearch安装及分词器安装

安装分词器要个安装的EelasticSearch的版本一致,上面安装的是7.14.0版本。下载完插件后直接复制到。

w2144217940的博客 892

SpringBoot整合Easy-ES操作演示文档

* **零侵入:**针对ES官方提供的RestHighLevelClient只做增强不做改变,引入EE不会对现有工程产生影响,使用体验如丝般顺滑。 * **损耗小:**启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作。 * **自动化:** 全球领先的哥哥你不用动,索引我全自动模式,帮助开发者和运维杜绝索引困扰。 * **智能化:** 根据索引类型和当前查询类型上下文综合智能判断当前查询是否需要拼接.keyword后缀,减少小白误用的可能。

战丶后风!!的博客 4196

STM32 FOC电机控制:手把手教你用CubeMX配置TIM1中心对齐PWM(含代码避坑)

本文详细解析了STM32 FOC电机控制中TIM1中心对齐PWM的配置方法,涵盖CubeMX图形化设置、HAL库代码调用及常见问题排查。特别针对L6230Q驱动芯片的使能逻辑和死区时间配置提供实用指南,帮助开发者高效实现无刷电机的高性能控制。

weixin_27027459的博客 442

私活神器!若依微服务Plus版源码详解与二次开发教程

本课程基于国内最大开源网站gitee上的GVP项目--若依的扩展项目:RuoYiCloudPlus进行一次应用级别的系统化讲解。主要分为源码讲解和二次开发两部分。源码会进行应用级别的逐行分析讲解,二次开发会讲解到如何快速高效的使用该私活神器构建项目。文档地址:https://blog.youkuaiyun.com/zhaozhiqiang1981/category_12221291.html

保姆级教程:用GROMACS 2022.4的拉伸模拟(SMD)加速蛋白-蛋白组装过程

本文详细介绍了如何使用GROMACS 2022.4的拉伸分子动力学模拟(SMD)技术加速大蛋白组装过程。通过CHARMM36力场和SMD技术,将传统需要数月的蛋白结合过程缩短至数天,大幅提升模拟效率。文章包含参数设计、索引组创建、周期性边界处理等实战技巧,并提供了完整的GPU加速工作流和常见问题解决方案。

weixin_30338481的博客 445

看完让你的RSA提升一个台阶 [GKCTF 2021]RRRRsa

我是,今天我给大家分享一个关于RSA的题目,带大家领略的魅力。今天开始前,我们先学习一下。

m0_62102520的博客 851

Easy-Es笔记

Easy-Es是一款ElasticSearch-ORM框架,在 RestHighLevelClient 的基础上,只做增强不做改变,为简化开发、提高效率而生。Easy-Es采用和MP一致的语法设计,能够显著降低ElasticSearch搜索引擎使用门槛,和额外学习成本,并大幅减少开发者工作量,帮助企业降本提效。在有些方面甚至比MP更简单,同时也融入了更多ElasticSearch独有的功能,助力您快速实现各种场景的开发。

白豆五的博客 4287

深入解析AndroidManifest.xml与device_admin.xml:打造完美DeviceOwner应用配置

本文深入解析了Android企业级开发中DeviceOwner应用的核心配置文件AndroidManifest.xml与device_admin.xml。详细阐述了如何精准声明DeviceAdminReceiver、定义管理策略,并提供了通过ADB命令进行设置与验证的实战指南,帮助开发者构建权限完整、配置正确的设备所有者应用。

ice55的博客 679

EelasticSearch是什么?及EelasticSearch的安装

Elasticsearch 是一个基于 Apache Lucene 构建的开源分布式搜索引擎和分析引擎。它专为云计算环境设计,提供了一个分布式的、高可用的实时分析和搜索平台。Elasticsearch 可以处理大量数据,并且具备横向扩展能力,能够通过增加更多的硬件资源来应对数据和查询量的增长。:支持对各种类型的数据(包括结构化、半结构化和非结构化文本数据)进行快速高效的全文本搜索。:数据在集群中的多个节点间分布和复制,确保高可用性和容错性,同时也支持水平扩展,以应对更大的数据量和更高的并发访问。

m0_74356429的博客 978

六轴机器人正解

采用的是John H.Craig在【机器人学导论】中的改进DH模型 1.六轴坐标系 2.DH参数 i αi−1\alpha_{i-1}αi−1​ ai−1a_{i-1}ai−1​ did_idi​ θi\theta_iθi​初值 1 0 0 0 0 2 -90 a1a_1a1​ 0 -90 3 0 a2a_2a2​ 0 -90 4 -90 a3a_3a3​ d4d...

m0_37581770的博客 2511

手把手教你解决Keil5安装时xerces-c_3_0.dll缺失和0xc000007b报错(附文件下载与路径设置)

本文详细解析了Keil5安装过程中常见的xerces-c_3_0.dll缺失和0xc000007b报错问题,提供了从文件获取、路径设置到系统配置的完整解决方案。同时,文章还涵盖了STM32开发环境的搭建技巧和最佳实践,帮助开发者快速构建稳定的嵌入式开发环境。

weixin_29164497的博客 600

docker安装EelasticSearch、目录权限修改、并安装IK 中文分词器

docker安装EelasticSearch、目录权限修改、并安装IK 中文分词器

相关项目可以查看https://gitee.com/fan-pl或https://github.com/fpl1116 1826

Python爬虫实战:利用最新技术爬取B站视频信息

本文详细介绍了如何使用Python最新技术构建一个功能完善的B站视频信息爬虫。我们从基础爬取开始,逐步深入到反反爬策略、异步处理、数据存储和分析等高级主题。更智能的反反爬策略:使用机器学习识别验证码更高效的分布式架构:结合Kubernetes实现弹性伸缩实时数据管道:将爬取的数据实时推送到数据分析平台多平台支持:扩展支持抖音、YouTube等其他视频平台。

2201_76125261的博客 1040

Docker安装EelasticSearch(含客户端工具)

Elasticsearch 是一个开源、分布式、RESTful 风格的搜索引擎和分析引擎,基于 Apache Lucene 构建而成。它提供近实时搜索、数据分析以及海量数据的集中存储能力。Elasticsearch 可横向扩展,支持 PB 级别的结构化和非结构化数据处理,并且具有高可用性、容错性和易于管理等特性,常用于日志分析、监控系统、全文检索等领域。通过其 JSON API 和 Kibana 可视化工具,用户能够快速查询、聚合和可视化数据。

qq_65142821的博客 2042

【面试系列】软件架构师 高频面试题及详细解答

本文介绍了软件架构师岗位的初级、中级和高级面试题及详细解答,涵盖了系统设计、面向对象设计、分布式系统、云计算技术、性能优化等关键领域。通过这些问题和解答,候选人可以深入理解软件架构师的核心职责和技能要求。此外,文章总结了在面试中需要掌握的常考知识点,包括架构模式、分布式系统管理、安全性、数据管理和DevOps实践。通过掌握这些知识点,软件架构师能够有效设计和指导复杂系统的结构,确保系统的可扩展性、性能和维护性。

在路上的专栏 850

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

EelasticSearch安装

Bash。

jyx_boy的博客 508

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

EelasticSearch的docker安装-----》es客户端使用!!!

它的特点是尽力穷举所有可能的词汇,提高召回率,但在某些情况下可能会造成噪声较多。示例:“中华人民共和国人民大会堂” 分词结果(ik_max_word)可能包括:中华人民共和国、中华人民、中华、华人、人民共和国、人民、共和国、大会堂、大会、会堂等。示例:“中华人民共和国人民大会堂” 分词结果(ik_smart)可能只有:“中华人民共和国”、“人民大会堂”等较完整、更具实际意义的词语组合。: 这种模式更侧重于保持语义完整性,尽量进行较少的、更有意义的拆分,减少无意义的子词组合,提高搜索准确率,降低误报率。

qq_64847107的博客 552

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

使用 Docker 安装 Elasticsearch (本地环境 M1 Mac)

将下载好的 IK 包解压丢到 /opt/es/plugins 文件夹下面即可。将 Docker 中的 Elasticsearch 目录挂载到本地。配置 Docker 允许访问的共享文件夹 /opt/es。切换到 /opt/es/plugins 目录下。删除 DS_Store 文件。

风团团 1238

docker部署elasticsearch7.4启动闪退

我的操作步骤 docker pull elasticsearch:7.4 (拉取es) /将es中配置文件挂载到外面的目录,通过修改虚拟机外面的文件夹es配置,进而修改docker中es的配置 mkdir -p mydata/elasticsearch/config mkdir -p /mydata/elasticsearch/data echo "http.host: 0.0.0.0">> /mydata/elasticsearch/config/elasticse

javaambition的博客 544

安装elasticsearch

安装elasticsearch 1.部署单点es 1.1.创建网络 因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络: docker network create es-net 1.2.加载镜像 这里我们采用elasticsearch的7.12.1版本的镜像,这个镜像体积非常大,接近1G。不建议大家自己pull。 课前资料提供了镜像的tar包: 大家将其上传到虚拟机中,然后运行命令加载即可: # 导入数据 docker load -i es.tar 同理还有

qq_43430343的博客 159

Easy-ES

直接new,例如 new通过EsWrappers.lambdaQuery()创建,可支撑链式编程的场景,对标MP的Wrappers说明以下出现的第一个入参boolean condition表示该条件是否加入最后生成的语句中,例如:query.like(StringUtils.isNotBlank(name), Entity::getName, name) .eq(age!以下代码块内的多个方法均为从上往下补全个别boolean类型的入参,默认为true。

chenbh1988的博客 7264

EelasticSearch使用

1. Easy-ES介绍2. 导入依赖包在实体属性上添加注解新建mapper类在application.properties文件中配置 ESElasticsearch DSL (Domain Specific Language) 是一种专门设计用来与Elasticsearch搜索引擎进行交互的查询语言。它是一种基于JSON格式的查询语法,允许用户以结构化的方式来构建复杂的查询、过滤条件、聚合操作以及其他高级功能。

m0_74356429的博客 907

ES(Elasticsearch)的简单的增删改查和EasyES的简单使用

ES的简单crud

.............. 5479

Elastic:像mybatis-plus一样优雅的书写es客户端代码——Easy-Es

Easy-Es是以elasticsearch官方提供的为基础,而开发的一款针对es的ORM框架,类似于es版的mybatis-plus,可以让开发者无需掌握es复杂的DSL语句,只要会mysql语法即可使用es,快速实现es客户端语法条件构造器上述演示,我们构造查询条件时,使用了EsWrapperseasy-es 条件构造器介绍索引托管如果想要自动根据创建的es实体类来创建对应的索引,那么只需要调整索引的托管模式为非手动模式即可,因为这里我不需要自动同步数据,所以选择非平滑模式。

55555的博客 2492

springboot整合easy-es实现数据的增删改查

ES是基于倒排索引实现的,倒排索引中每条记录都是一个文档(JSON格式),系统会先对字段数据进行分词,然后给词条建立索引,并映射到文档id。在查询的时候根据输入进行分词,然后根据词条走索引查询文档id,再根据文档id查询文档并放入结果集,最后将结果集返回。

weixin_43975276的博客 2517

分布式架构之EasyES---和 Mybatis用法相似,太方便了

Easy-Es(简称EE)是一款基于ElasticSearch(简称Es)官方提供的RestHighLevelClient打造的ORM开发框架,在 RestHighLevelClient 的基础上,只做增强不做改变,为简化开发、提高效率而生,您如果有用过Mybatis-Plus(简称MP),那么您基本可以零学习成本直接上手EE,EE是MP的Es平替版,在有些方面甚至比MP更简单,同时也融入了更多Es独有的功能,助力您快速实现各感兴趣的小伙伴可以的官网一日游,详细研究,我们一起学习,记得关注呦,我们一起努力。

在计算机领域混战了5年的java开发工程师,正在向全栈奋斗的路上。目前在学习和分享:Java,springboot,spring,vue,系统开发,服务器运维(可做毕业设计)等相关知识。 1509
上一篇: MybatisPlus
下一篇: ELK和EFK日志采集系统
涵冰...
博客等级 码龄4年 2438粉丝 243原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涵冰...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值