首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >lucene如何在倒排索引中使用跳过列表?

lucene如何在倒排索引中使用跳过列表?
EN

Stack Overflow用户
提问于 2012-12-03 13:12:13
回答 2查看 3.7K关注 0票数 4

在一些博客和lucene网站上,我知道lucene在倒排索引中使用数据结构“跳过列表”。但我对此有些困惑。

1:一般情况下,跳表可以在内存中使用,但倒排索引存储在磁盘中。那么lucene如何在索引上进行搜索时使用它呢?只是在磁盘上扫描还是加载到内存?

2:跳过列表的插入操作通常使用随机(0,1)来决定是否插入到下一级,但在luncene介绍中,似乎每一项都有一个固定的间隔,那么lucene如何创建不同的“跳过列表”呢?

如果我错了,请纠正我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-03 22:04:30

Lucene以几种不同的方式使用内存,即使在为搜索和排序(字段缓存)等操作创建IndexReader时,索引是持久存储在磁盘上的:

http://blog.mikemccandless.com/2010/07/lucenes-ram-usage-for-searching.html

基本上,这些二进制文件被复制到RAM中,以便更快地扫描和减少I/O。您可以从上面的链接中获得一个提示,即使用某些参数搜索可以强制Lucene“在搜索中跳过术语”,因此,可以在哪里使用该数据结构。

Lucene是开放源码的,因此您可以自己查看C#实现所使用的Java或Lucene.NET中的代码。

票数 2
EN

Stack Overflow用户

发布于 2016-07-20 18:00:20

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13677514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档