EelasticSearch的介绍和基于docker安装

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_smartik_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.原理 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AES和RSA加解密算法学习笔记(实战版)

1. 写在前面 今天整理一篇有关密码学的学习笔记,原因是最近做的一个任务是在网络传输的时候,需要对传输的包进行加密和解密工作,以保证传输过程的安全性。所以,这个过程用到了AES和RSA两个算法。 场景:假设我要给我的老师传送毕设代码和论文, 我已经把代码和论文打成了一…

P1601 A+B Problem(高精)(高精度加法)

题目&#xff1a;AB Problem&#xff08;高精&#xff09; - 洛谷 #include<bits/stdc.h> using namespace std; const int N100010; int A[N],B[N],C[N]; int Add(int a[],int b[],int c[],int cnt){int t0; //表进位for(int i1;i<cnt;i){ta[i]b[i]; c[i]t%10; t/10…

VSCode 配置 C/C++ 环境

1 安装 VSCode 直接去官网(https://code.visualstudio.com/)下载并安装即可。 2 配置C/C编译环境 方案一 如果是在Windows&#xff0c;需要安装 MingW&#xff0c;可以去官网(https://sourceforge.net/projects/mingw-w64/)下载安装包。 注意安装路径不要出现中文。 打开 w…

C++结构体

结构体定义 三种声明方式 1 struct Student s1 2 struct Student s2{…} 3在定义结构体时&#xff0c;顺便创建结构体变量&#xff08;不建议用&#xff09; // 结构体.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //#include <iostream> usi…

《1w实盘and大盘基金预测 day25》

上贴整体预测还行&#xff0c;第三点、第四点完全符合&#xff0c;最低3042&#xff0c;我预测3038 昨日预测&#xff1a; 3038-3064-3074-3090 低开拉升&#xff0c;冲高回落 大盘继续震荡&#xff1f;收3074附近 中字头等股票回调&#xff1f;大跌收3038附近 科技股有继续回…

Ubuntu-18.04本地化部署Rustdesk服务器

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、配置防火墙二、安装三大件1.下载三大件2.安装三大件 三、安装客户端1.下载客户端1.Windows2.Linux 四、配置客户端连接服务器五、总结 前言 如果你是想数据…

JEECG表格选中状态怎么去掉

官网代码&#xff08;在取消选中状态的时候不生效&#xff09; rowSelection() {return {onChange: (selectedRowKeys, selectedRows) > {console.log(selectedRowKeys: ${selectedRowKeys}, selectedRows: , selectedRows);},getCheckboxProps: record > ({props: {disa…

数据结构系列-堆排序

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 昨天我们实现的堆的搭建&#xff0c;我们今天实现以下堆的排序&#xff0c; 堆的排序的最大的优点就是提高的效率&#xff0c;减小了时间复杂度&#xff0c;在这个里面我们有一个…

面试十八、容器适配器

容器适配器是一种特殊类型的容器&#xff0c;它们提供了一种不同于常规容器的接口和行为。容器适配器通常是建立在其他容器之上&#xff0c;通过改变接口或添加限制来满足特定的需求或解决特定的问题。 在 C 中&#xff0c;标准库提供了三种常见的容器适配器&#xff1a; 栈&am…

Web3钱包开发获取测试币-Polygon Mumbai(一)

Web3钱包开发获取测试币-Polygon Mumbai(一) 由于主网区块链上的智能合约需要真正的代币&#xff0c;而部署和使用需要花费真金白银&#xff0c;因此测试网络为 Web3 开发人员提供了一个测试环境&#xff0c;用于部署和测试他们的智能合约&#xff0c;以识别和修复在将智能合约…

边缘渲染是什么意思?属于云渲染吗?

边缘渲染&#xff0c;即利用靠近数据源或用户的边缘计算资源进行渲染&#xff0c;以减少数据传输延迟并提升处理速度。这种方式虽然基于云技术&#xff0c;但更注重数据处理的地理位置优化&#xff0c;与传统的云渲染有所不同。 一、边缘渲染属于什么意思? 边缘渲染是一种基于…

周鸿祎和雷军、马化腾相逢一笑泯恩仇

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 马云竟然没有到场&#xff0c;真是遗憾! 前两天工信部和互联网协会联合举办的中国互联网三十周年座谈会上。周鸿祎、雷军、马化腾相逢一笑泯恩仇。 第一条视频&#xff1a; 周鸿祎和马化腾握手言欢&#xff0c…

一道有意思的面试题

面试过程中没有想到合适的数据结构&#xff0c;想了半天&#xff0c;构思没有实践落地。 也是听错了&#xff0c;以为三道题都要做&#xff0c;做出来了两道&#xff0c;这道死活没落地成功。 结果&#xff0c;三道题里面任选一道就行。。。。 好吧 题目&#xff1a;给定一个…

将组件 赋值给变量li 想拿到 组件的html页面结构 但是 打印出来的是 文件路径 该如何实现呢?

需求 import { ref } from vue; import refrigerationRight from /views/bim3D/components/right/refrigerationRight.vue const liref({lis:refrigerationRight }) const refrigerationclick()>{console.log(li) }##方法 import { createApp } from vue; import refriger…

对接浦发银行支付(八)-- 对账接口

一、背景 本文不是要讲述支付服务的对账模块具体怎么做&#xff0c;仅是介绍如何对接浦发银行的对账接口。 也就是说&#xff0c;本文限读取到对账文件的内容&#xff0c;不会进一步去讲述如何与支付平台进行对账。 如果要获取商户的对账单&#xff0c;需要遵循以下步骤&…

【从浅学到熟知Linux】进程间通信之匿名管道方式(进程间通信方式汇总、匿名管道的创建、匿名管道实现进程池详解)

&#x1f3e0;关于专栏&#xff1a;Linux的浅学到熟知专栏用于记录Linux系统编程、网络编程等内容。 &#x1f3af;每天努力一点点&#xff0c;技术变化看得见 文章目录 进程间通信介绍如何实现进程间通信进程间通信分类 管道通信方式什么是管道匿名管道pipe匿名管道读写规则管…

PMP®证书适合哪些岗位?哪些人适合报考?

PMP无处不在&#xff0c;不受岗位限制&#xff0c;因为项目管理思维都是相通的&#xff0c;就算你不想从事项目管理工作&#xff0c;也能应用到其他领域内。 当时报考PMP的人群中某些行业和岗位相对而言会多一些&#xff0c;本文就给大家介绍一下哪些行业、岗位的人群适合报考…

echarts折线图默认不显示数据圆点,鼠标划上之后折线图才显示圆点

只需要设置showSymbol为false就可以了&#xff0c;表示只在 tooltip hover 的时候显示。 代码如下&#xff1a; option {tooltip: {trigger: axis},xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yAxis: {type: value},series: [{data: [150, 230, 224…

Acrobat Pro DC 2021:强大的PDF编辑软件

Acrobat Pro DC 2021是Adobe公司推出的一款全面而强大的PDF编辑软件&#xff0c;凭借其卓越的性能和丰富的功能&#xff0c;成为了PDF编辑领域的领军者。 Acrobat Pro DC 2021中文激活版下载 这款软件具备全面的PDF编辑功能&#xff0c;包括文本编辑、图片处理、页面组织等&…

单例模式与反射创建对象

单例模式 饿汉式单例模式 单例模式&#xff0c;就是自己先把自己创建了&#xff0c;整个程序都只有这一个实例&#xff0c;别人都没有办法创建实例&#xff0c;因为他的构造方法是private的 一次性把全部都创建了 public class HungryMan {private static int [][] s new …