共计 1454 个字符,预计需要花费 4 分钟才能阅读完成。
Elasticsearch 是一款基于 Lunece 的分布式、可扩大、实时的搜寻与数据分析引擎。
版本变更
版本号 | 公布工夫 | 内容 |
---|---|---|
0.4 | 2010-02 | 第一次公布 |
1.x | 2014-01 | |
2.x | 2015-10 | |
5.x | 2016-10 | Lucene 6.x,默认打分机制从 TF-IDF 改为 BM 25 新性能:反对 Keyword 类型性能优化:移除竞争锁、反对分片上聚合的缓存 |
6.x | 2017-10 | Lucene 7.x 新性能:跨集群复制、索引生命周期治理、反对 SQL 性能优化:索引时进行排序,无效存储稠密字段,升高了存储老本 |
7.x | 2019-04 | Lucene 8.0 新性能:新的集群协调实现、Script score query 性能优化:默认的主分片数从 5 改为 1 |
8.x | 2022-02 | Lucene 9.0 新性能:原生反对 NLP、原生矢量搜寻 |
Elastic Stack 生态圈
Elasticsearch Best Practice Architecture
1. Logstash:数据处理管道
开源的服务器端数据处理管道,反对从不同起源采集数据,转换数据,并将数据发送到不同的存储库中。
Logstash,由 Jordan Sisel 创立于 2009 年,最后用来做日志的采集与解决,在 2013 年被 Elasticsearch 收买。
个性:
- 实时解析和转换数据,从 IP 地址破译出地理坐标;将 PII 数据匿名化,齐全排除敏感字段。
- 可扩大,200 多个插件(日志、数据库、Arcsigh、Netflow)
- 可靠性安全性,Logstash 会通过长久化队列来保障至多将运行中的事件送达一次;数据传输加密
- 监控
2. Kibana(Kibana = Kiwifruit + Banana):可视化剖析
数据可视化工具,帮忙用户解开对数据的任何疑难
Kibana,创始人是 Rashid Khan。Kibana 是基于 Logstash 的工具,2013 年退出 Elastic 公司。
3. Beats:轻量的数据采集器
Go 语言开发
4. X-Pack:商业化套件
6.3 之前的版本,X-Pack 以插件形式装置
ELK 利用场景
- 网站搜寻、代码搜寻
- 日志治理剖析、指标监控
类似度模型
类似度指文档与查问条件匹配的水平,ES 对每个匹配查问条件的后果进行了算分_score,分数越高相关度越高。
常见类似度模型如下,可参考 Available Similarities:
- BM25(Best Match):ES 默认的相关性算分机制,它思考了查问词项的文档频率、文档长度和查问长度等因素,通常用于全文搜寻场景。ES 8.6 similarity score、Okapi BM25 算法
- TF-IDF(Term Frequency/Inverse Document Frequency):通过计算查问词项在文档中的频率和在整个文档汇合中的逆文档频率来确定相关性得分。TF-IDF 算法介绍及实现
- LM:LM(Language Model)是一种基于语言模型的评分模型,应用文档中词项呈现的概率来计算文档得分,通常用于自然语言解决、语音辨认等场景。Language Models in Elasticsearch
- IB:IB(Information-Based)是一种基于信息论的评分模型。
对于信息检索工具,常见的性能评估指标:
- 查准率(Precision):尽可能返回较少的无关文档,通常用于掂量搜寻工具的检索成果。
召回率(Recall):尽可能返回较多的相干文档,通常用于掂量搜寻工具的覆盖率。
参考 Elasticsearch Query-Time Strategies and Techniques for Relevance
正文完
发表至: elasticsearch
2023-02-28