问题描述
我已经阅读了一些lucene的源代码和相关文档,但仍有一些未解之谜。
-
segment 是一个独立的索引,使用跳过列表作为底层实现,对吗?
-
segment 是不可变的,早期的可能已经过时,所以我们从最近到更早的segment 中读取,对吗?
3) 那么如何在查询和搜索时构造 FST 呢? lucene 会为每个段创建一个 FST 吗?例如,为最近的段创建一个 fst,找到该术语,如果没有找到,则为下一个段创建另一个 FST .... 或者 lucene 一次创建所有可能的 FST ?
- 但似乎lucene会以字节数组紧凑格式创建FST,并将其存储在目录中。但这似乎没有意义。在我的理解中,FST 应该从段、别名、跳过列表创建,从而保证它是预先排序的(以构建最小的子序列转换器),并且它应该从新的段和跳过列表重新创建/更新,没有意义将其存储在目录中,并通过直接从磁盘读取来重用它,因为我们想要更新信息。
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)