高并发架构实战 Day44

ELK基本都用过,一条日志在入库时,它的具体内容并不会被真实保存在倒排索引中。 在日志入库之前,会先进行分词,过滤掉无用符号等分隔词,找出文档中每个关键词(Term)在文档中的位置及频率权重;然后,将这些关键词保存在 Term Index 以及 Term Dictionary 内;最后,将每个关键词对应的文档 ID 和权重、位置等信息排序合并到 Posting List 中进行保存。通过上述三个结构就实现了一个优化磁盘 IO 的倒排索引。 而查询时,Elasticsearch 会将用户输入的关键字通过分词解析出来,在内存中的 Term Index 单词索引查找到对应 Term Dictionary 字典的索引所在磁盘的 block。接着,由 Term Dictionary 找到对关键词对应的所有相关文档 DocId 及权重,并根据保存的信息和权重算法对查询结果进行排序返回结果。

相关推荐
LSTM979 分钟前
使用 C# 添加或读取 Excel 公式:完整指南
后端
码以致用12 分钟前
FastAPI 从入门到实践:构建规范的 RESTful API 服务
后端·restful·fastapi
RainCity13 分钟前
Java Swing 自定义组件库分享(四)
java·笔记·后端
技术崽崽14 分钟前
Java多线程神器——ThreadForge ,让多线程从此简单
后端
Leinwin22 分钟前
OpenAI Daybreak实战指南:如何将AI安全检查嵌入你的开发流程
后端·python·flask
Ting-yu38 分钟前
SpringCloud快速入门(1)---- 微服务介绍
后端·spring·spring cloud
Nicander1 小时前
Spring Boot 全局异常处理:原理与实践
spring boot·后端
若阳安好1 小时前
【备忘录】正则表达式
后端·正则表达式·restful
Cosolar2 小时前
AI Agent 的记忆战争:OpenClaw vs Hermes vs QwenPaw vs HiClaw,谁真正"记得住"?
人工智能·后端·面试
M ? A2 小时前
VuReact:Vue转React的增量编译利器
前端·vue.js·后端·react.js·面试·开源·vureact