首页 > 其他分享 >Elasticsearch(ES):现代搜索与分析引擎

Elasticsearch(ES):现代搜索与分析引擎

时间:2023-10-18 23:00:47浏览次数:27  
标签:查询 引擎 搜索 elasticsearch Elasticsearch 搜索引擎 ES

大数据时代带来了海量的信息和数据,如何高效地管理、搜索和分析这些数据成为了企业和组织面临的重要挑战。在这个背景下,Elasticsearch应运而生,它是一款强大的开源搜索和分析引擎,广泛用于各种领域,从企业搜索、日志分析到监控系统,为用户提供了快速、准确的数据搜索和分析功能。

1.什么是Elasticsearch(ES)

Elasticsearch是一个基于Lucene构建的实时分布式搜索和分析引擎。它的强大之处在于可以快速地处理和查询大规模数据,同时支持全文搜索、结构化数据搜索和复杂的数据分析。Elasticsearch的灵活性和可扩展性使其成为了各种应用场景下的首选。

elasticsearch底层是基于lucene来实现的。Lucene是一个Java语言的搜索引擎类库,是Apache公司的顶级项目,由DougCutting于1999年研发。官网地址:https://lucene.apache.org/ 。

Elasticsearch(ES):现代搜索与分析引擎_数据

elasticsearch的发展历史:

  • 2004年Shay Banon基于Lucene开发了Compass
  • 2010年Shay Banon 重写了Compass,取名为Elasticsearch。

官网地址:https://www.elastic.co/最新版本: 8.10.2

elasticsearch相比于lucene优势

  • 支持分布式,可以水平扩展
  • 提供Restful接口,可以被任何语言调用

2. 为什么不是其他搜索技术?

目前比较知名的搜索引擎技术排名: 搜索技术排名统计地址https://db-engines.com/en/ranking/search+engine

Elasticsearch(ES):现代搜索与分析引擎_搜索_02

虽然前期,Apache Solr是最主要的搜索引擎技术,但随着发展elasticsearch已经渐渐超越了Solr,独占鳌头:

Elasticsearch(ES):现代搜索与分析引擎_搜索_03


3. elasticsearch应用场景

3.1. ES从海量数据中快速找到需要的内容

elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容,例如:

  • 1.GitHub搜索代码
  • 2.电商网站搜索商品
  • 3.在谷歌搜索
  • 4.打车软件搜索附近的车

Elasticsearch(ES):现代搜索与分析引擎_数据_04

ES如何做到从海量数据中快速找到所需内容关键要点

  • 1.倒排索引: Elasticsearch使用倒排索引(Inverted Index)来加速文本搜索。倒排索引是一种将文档中的单词映射到它们出现的位置的数据结构。这使得搜索引擎能够在文本中快速查找包含特定词汇的文档。
  • 2.分词和标记化: ES使用分词器(Analyzer)将文本拆分成词汇单元,同时进行标记化处理,以便更好地理解文本的语义。这有助于确保搜索时不会受到词汇形态的干扰。
  • 3.复杂查询: Elasticsearch支持复杂的查询,包括布尔查询、范围查询、模糊查询、通配符查询、正则表达式查询等。这使得用户能够以多种方式指定搜索条件,以获取精确的结果。
  • 4.聚合和分析: 除了搜索,ES还提供了聚合(Aggregation)功能,允许用户对搜索结果执行复杂的数据汇总和分析操作。这对于生成统计信息、生成报告和可视化数据非常有用。
  • 5.分布式架构: Elasticsearch是一个分布式系统,可以轻松扩展以处理大量数据和高并发查询。它将数据分片存储在多个节点上,并允许并行查询,从而加速搜索速度。
  • 6.实时性: Elasticsearch支持实时索引,使得数据可以几乎立即在搜索中可用。这对于需要快速反馈和更新的应用程序非常有用。
  • 7.相关性排序: ES使用TF-IDF(Term Frequency-Inverse Document Frequency)和BM25等算法来计算文档的相关性,确保搜索结果按相关性排序,最相关的文档排在前面。
  • 8.多语言支持: Elasticsearch支持多种语言的文本搜索和分析,使其成为国际化应用的理想选择。
  • 9.数据分析: 除了搜索,ES还可以用于数据分析。用户可以执行聚合操作、统计计算、时间序列分析等,以洞察数据中的模式和趋势。

3.2. 日志和事件日志分析

elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域:

Elasticsearch(ES):现代搜索与分析引擎_搜索_05

而elasticsearch是ELK的核心,负责存储、搜索、分析数据

Elasticsearch(ES):现代搜索与分析引擎_搜索_06

总结

elasticsearch是什么

  • 一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能

ELK是什么

  • 是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch

Lucene是什么

  • 是Apache的开源搜索引擎类库,提供了搜索引擎的核心API

标签:查询,引擎,搜索,elasticsearch,Elasticsearch,搜索引擎,ES
From: https://blog.51cto.com/maguobin/7924395

相关文章

  • kubernetes文档支持的版本
    https://kubernetes.io/zh-cn/docs/网站一共是可以阅读5个k8s版本的文档。这5个版本包括k8s最新版和最近的4个版本。例如当前最新版是1.28,那么文档网站可以阅读1.28、1.27、1.26、1.25、1.24这5个版本。在接下来的文档中,全部是以kubernetes1.28作为解释版本,文档里提到的需要实......
  • GRLSTM:基于图的残差LSTM轨迹相似性计算《GRLSTM: Trajectory Similarity Computation
    2023年10月18日,14:14。来不及了,这一篇还是看的翻译。论文:GRLSTM:TrajectorySimilarityComputationwithGraph-BasedResidualLSTM(需要工具才能访问)Github: AAAI2023的论文。 摘要轨迹相似性的计算是许多空间数据分析应用中的一项关键任务。然而,现有的方法主要是......
  • Educational Codeforces Round 150 (Rated for Div. 2) B. Keep it Beautiful
    数组\(a=[a_1,a_2,\cdots,a_n]\)被称为是美丽的,如果可以将\([1,x]\)段移到\([x+1,n]\)段后面,\(x\geq0\),数组可以构成非降序。现在有一个数组\(a\)(一开始为空)和\(q\)个询问,第\(i\)个询问给一个正整数\(x_i\)。需要逐步执行以下操作。若\(x_i\)拼接......
  • games101一些问题及思考
    games101一些问题及思考1.透视投影为什么z值变大从透视投影矩阵可以看出z会变大,但从直观上怎么想呢。想象一段向无穷远处延伸的铁轨,假设有100m,但照片中前一半明显不足50m,后一段明显多于50m,可以体会到近平面和远平面之间的点都会向远平面压缩,使得出现近大远小的情况。2.各个......
  • IDEA 出现 Cannot resolve method getParameter() in JSP 解决方法
    原链接java-CannotresolvemethodgetParameter()inJSP-StackOverflowIDEA中出现下图情况,版本IDEA2022.2.3。此方法大概率可用,如果帮到你请点个赞吧~  1.我们右键当前项目,选择进入"OpenModuleSettings",如下图2.进入下图界面后,点击下图加号弹出二级菜单,在通......
  • 修改Postgresql默认账号postgres的密码
    1.修改用户postgres的密码PostgreSQL数据库默认创建管理员账号:postgres;修改其密码,仅需一下三步:1、首先,登录PostgreSQLsudo-upostgrespsqlpostgres-p54322、然后,修改账号postgres的密码ALTERUSERpostgresWITHPASSWORD'Lpf65BsDhDNdaJmH';      (---一定......
  • HO引擎近况20231018
    放完假就开始忙现在又开始晚上9点下班了,一直到现在才想起来写博客公司搬家了。搬到了原来公司附近的写字楼里面工作环境变了,算是有好有坏吧好处是当初排座位的时候我要了一个靠过道的位置,现在看来还真的不错能把小柜子放到桌子外面的过道上一部分,还能放两个小柜子不靠窗户所......
  • Conditional Probability Models for Deep Image Compression
    深度神经网络被训练来作为图像压缩的自动编码器是一个前沿方向,面临的挑战有两方面——量化(quantization)和权衡reconstructionerror(distortion)andentropy(rate),这篇文章关注后者。主要思想是使用上下文模型直接对潜在表示的熵建模;3D-CNN一个学习自动编码器潜在分布的条......
  • Codeforces Round 884 (Div. 1 + Div. 2) B. Permutations & Primes
    给一个正整数\(n\),你需要构造一个\(n\)的排列\(p_1,p_2,\cdots,p_n\)。对于排列\(p\)的每个子段\([l,r]\),\(mex_{i=l}^{r}a_i\)的结果为质数的次数尽可能多。此处的\(mex\)最小排除值最低为\(1\)而非\(0\)。不难想到,小质数\(2,3\)容易构造。于是有......
  • USACO 2023 US Open Platinum Triples of Cows
    洛谷传送门LOJ传送门hottea.一次删点操作的影响太大了,考虑添加虚点以减小影响(相同的套路在CF1882E2TwoPermutations(HardVersion)也出现过)。具体而言,我们把第\(i\)条边\((u,v)\)变成\((u,n+i),(v,n+i)\)。称编号\(\len\)的点为黑点,编号\(>n\)的点......