它们是一回事吗?
经常看到这两个词,有点晕了,
如果不是,查询中用的是哪个?两个都用吗?
你的问题补充太简单了,一个详细的问题描述能够让大家更快的帮助你,请继续完善问题描述!
你的问题补充太简单了,一个详细的问题描述能够让大家更快的帮助你,请继续完善问题描述!
经常看到这两个词,有点晕了,
如果不是,查询中用的是哪个?两个都用吗?
你的问题补充太简单了,一个详细的问题描述能够让大家更快的帮助你,请继续完善问题描述!
你的问题补充太简单了,一个详细的问题描述能够让大家更快的帮助你,请继续完善问题描述!
4 个回复
Ombres
赞同来自:
fst是词典的存储结构
学习lucene推荐大神的博客https://www.amazingkoala.com.cn/
rimutuyuan_
赞同来自:
yuechen323 - 晨儿哥
赞同来自:
存 term 的结构就是 fst, 你搜索的时候, 现在 fst 中找到 term, 然后通过 term 找到 DocId set
简单的说, 当所有 term 对应的 docId set 都有了以后, 最后做一个交集就是你的搜索结果
zmc - ES PAAS、JuiceFS
赞同来自:
1.倒排索引理解来说就是一组 k:v ,k是词元,例如“中国”,v是文档的编号,这个结构是存在磁盘的(磁盘就会有io,多次读取效率肯定低,所以在这个索引的结构上再加一层前缀索引,用来快速定位倒排索引的k,这个结构放在内存)
2.FST是一个存储的数据结构(字典树的升级版,为了减小内存空间),FST存的实际上是前缀索引,常驻内存
3.不走缓存的情况下,查询会先在内存找,定位到磁盘的倒排表,再去磁盘取doc