高并发架构实战 Day44

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

相关推荐
北冥you鱼13 小时前
Go 语言 CRUD 实战:从接口设计到真实业务场景
开发语言·后端·golang
锋行天下13 小时前
Langgraph 实现类似Langchain记忆上下文过长裁剪
人工智能·后端
YDS82913 小时前
Small Spring IOC篇:作用域和FactoryBean
java·后端·spring
没有气的汽水14 小时前
一次内存缓慢泄漏的排查:每次都 new 一个 OpenAI 客户端,问题出在事件循环上
后端
Nnnnnnn14 小时前
Kafka 踩坑实录:在 WSL2 环境下,容器死活连不上集群怎么办?
后端
就像楞次定律14 小时前
【Linux 学习记之二】C++ 构建体系与底层链接机制的深度透视(1)
linux·后端
学到老活到老14 小时前
第 22 集:Filter、Interceptor、AOP 都能拦截,为什么不能互换?
java·后端·spring
郭小李15 小时前
spring 中的 @EnableWebMvc注解和WebMvcConfigurer接口
java·后端·spring
卷无止境15 小时前
Skill 的安全边界在哪里:风险来源、验证思路与用户可用的防线
后端·python
星核0penstarry16 小时前
企业 API 向后兼容实战:版本控制、废弃字段通知与灰度发布策略
人工智能·后端·api·接口隔离原则·版本控制·架构设计·后端架构