获取索引文件错误怎样做

获取索引文件错误怎样做,第1张

要使用索引或者目录的文档一般都是比较长的隐绝迹大文件,可以灶并按以下 *** 作进行:

1、要编入目录的宏坦行在有正文字样栏点下拉选项样式里选择标题样式,可以更改字题及大小,但要使用样式为标题才可以, 如果是文档合并已经设置了标题样式,略。

2、视图用大纲视图方式,打开文档结构视图,用向左向右箭头调整目录大纲级别合适为好。

3、光标移到最上面。

4、插入索引和目录,点目录标签。

5、确定,完成。

简单地说luncence的索引数据是通过燃誉调用IndexReader接口读取的。

lucene的索引一般都比较大,索引数据采用分目录存储,每个存储目录具有一个则皮DocID,因此在实际的使用时需要依次读取所有的目录拼接后再以分页的方式读取。

代码片段:

try{

directory=FSDirectory.open(new

File(indexReadPath));//打开索引文件夹

IndexReader

reader=DirectoryReader.open(directory);//读取目录

IndexSearcher search=new

IndexSearcher(reader);//初始化查询组件

for(孙段差int i=0i

Document

doc=search.doc(i);//依次获取每个docid对应的Document

}

reader.close();//关闭资源

directory.close();//关闭连接

}catch(Exception e){

e.printStackTrace();

}

如果一个索引式文件的索引节点有10个直接块,1个一级间接块,1个二级间接块,1个三

级间接块。假设每个数据块的大小是512个字节,一个索引指针占用4个字节。假设索引节点已经在内存中,那么访问该文件偏移地址在6000字节的数据需要再访问()次磁盘。祥好

问题1

参考答案: B

索引文件存储内容时,是先把内容往直接块中存明敬,存满直接块,就往一级间接里存,再存满了,就往二级间接中存,依此类推。

一共有10个直接块,每个可存512个字节,所以直接块一共可存5120个字节。

6000字节显然是不会存在直接块中。再看一级间接中能存多少,由于数据块是512

个字节,而每个索引指针占用4个字节,所以一级间接块对应着: 128个索引指针,每个索引指针是对应着- -个512字节的数据块。由此可见,一级间接块能存: 512*128=65536字节。

综上所述,6000字节,应在一级间激宴慎接块空间中。

访问一级间接块内容时,需要首先通过一级间接块获取数据的块号,再通过该块号读取数据,所以需要再访问2次磁盘。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/8156934.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存