我不知道是不是理解错了增量索引的概念
我搜索的网页不会重复,不是对所有的网页都不停的搜,而是我搜索特定的网站.这里面不会出现重复现象.每次爬到的网页肯定是index里没有的
问一个问题
如果有10个网页需要建立index

IndexWriter iw=new IndexWriter(...);
for(int i=0;i<10;i++){
iw.addDocuemnt(doc[i]);
}
iw.close();
还是
for(int i=0;i<10;i++){
IndexWriter iw=new IndexWriter(...);
iw.addDocuemnt(doc[i]);
iw.close();
}
还有,如果index量有10G,做一次optimize需要多长时间?
建议多长时间Optimize一次?
对一个刚刚做过Optimize的index目录做Optimize,会不会很快就结束,还是也需要很长时间?
optimize结束后是不是只剩下3个文件?如果有其他文件,是不是意味着有问题呢?(没有Reader或者Searcher在使用这个index的时候)
 
 发表时间:2007-08-12 没有必要6分钟一次。 每次optimize都会重新做索引, 光拷贝10G文件就得多少分钟?如果不是频繁删除的话, 一天, 甚至一礼拜一趟都可以。 选择系统负载少的时候就行。 
发表时间:2007-09-06 1:当search动作太频繁,或者访问的人很多,在optimize时会出现这个message
java.io.IOException: Cannot delete E:\index\_nir.f2;
注意检查下是不是每次查询完都把indexReader给close了。你可以测试下,频繁的开search,如果还有这个异常,估计就是没把indexReader给close(千万不要以为close the indexSearcher 就ok了,要注意新建indexSearcher时传的参数是什么,是Direcitory,还是indexReader,还是字符串文件路径,这影响是否close indexReader) 
返回顶楼         回帖地址 0 0 请登录后投票
 
 发表时间:2007-09-07 新建indexReader时传入的是index file path,而且在search完毕后都在finally里面做了close动作。
BTW:我把optimize动作去掉后,也就是说无论它运行多久都不让他optimze,结果index很正常,文件数量不会增加很多,search也okay。
问题是总不能老这样呀,一直不optimize也不行呀。我做一次optimize,就要n分钟,index文件太大,没办法。
而且我的index动作是针对不同的网页,比如http://xxx.xxx.xxx/1.html被index后,以后遇到这个页面就不会再做index动作。换句话说,每次index的内容都是新的,不会覆盖以前的东西。这样的需求是不是不用optimize呀。 
返回顶楼         回帖地址 0 0 请登录后投票
  发表时间:2007-09-07 fool_leave,你用的lucene版本是多少?如果是2.2的话,可以用indexwriter;以前用2.0,我用indexReader执行删除操作也出现过类似的情况(怀疑是indexreader只将被删除的documents设置了下删除的标志,在close的时候没真正执行删除动作,也许是我少执行了一个步骤,=会去看看reader的删除操作)。如果因为文件太大导致优化(optimze,它的作用是重新整理段,把document的id重新设置,这个对搜索效率很有帮助,和document里term的内容没关系)的时间很长,那就得重新考虑下你的架构了(10g太大了)。这个得请教下imjl. 
返回顶楼         回帖地址 0 0 请登录后投票
 
 发表时间:2007-09-07 建议设置时间任务,凌晨2点启动indexWriter进行optimise。
启动前前台页面切换到显示维护的状态,然后等待所有的reader,searcher关闭,然后进行optimise。(当然只有一个writer在跑)
In environments with frequent updates, optimize is best done during low volume times, if at all.
摘自lucene的文档
http://lucene.zones.apache.org:8080/hudson/job/Lucene-Nightly/javadoc/org/apache/lucene/index/IndexWriter.html#optimize()
It is best not to re-open readers while optimize is running.
这句话我不是很明白,我觉得应该是说不要在optimize运行时打开新的reader。但是用的re-open,难道是说
不要在optimize时,重置reader。的状态? 
返回顶楼         回帖地址 0 0 请登录后投票
 
 发表时间:2007-09-07 因为if some but not all readers re-open while the optimize is underway, this will cause > 2X temporary space to be consumed as those new readers will then hold open the partially optimized segments at that time.所以It is best not to re-open readers while optimize is running.在进行优化的时候最好不要新开readers(2.2里好像没有reopen这个方法吧,2.3里估计会出),因为新的readers同时会打开部分优化过的段,索引耗损的临时空间会大于两倍索引大小(翻译错了楼下的一定要指出来哦)。
我觉得在做优化时,不会对searcher有影响,不必关闭搜索功能。 
返回顶楼         回帖地址 0 0 请登录后投票
 
 发表时间:2007-09-10 thanks
无论是不是reopen,optimize都会耗用更多的space来存储临时文件.但这些都是临时文件,在动作结束后会被释放掉.所以如果硬盘空间足够,这些多余的耗用应该不是大问题。
但我的index目录总共有3G(我把旧的document删除了)。不过每次optimize一样要花费很长时间。我不知道应该如何重新设置document的id.我的lucene version是2.0的。
lucene的optimize的结果除了将index的文件数变成3个,还有什么好处呢?到现在我看来只有在delete索引节点后有必要通过optimize真正的把这些节点删除,其他的优势似乎非常不明显。(因为我每次写入index的索引内容都是新的,不会有重复或追加现象)。我现在彻底把optimize从程序里去掉了,运行到现在已经1个月了,每分钟都有新内容加进去,但index目录依然很正常,文件数24个,从文件的修改时间上来看也很正常。search动作也很正常。
如果一次optimize需要花费5分钟以上的时间,而这个操作又是不可中断的,一旦在optimize过程中终止了程序,就会出现lucene自身无法恢复问题。这样对于程序要求太高了。对于服务器管理也要求太高了。 

转载于:https://blog.51cto.com/cownew/211734

lucene造成磁盘空间不足的问题相关推荐

  1. Linux shell 学习笔记(2)— 监测程序、磁盘空间和处理文件(ps -ef、top、kill、df、du 、grep、tar)

    1. 监测程序 1.1 检查进程 默认情况下,ps 命令只会显示运行在当前控制台下的属于当前用户的进程. $ ps PID TTY TIME CMD 3081 pts/0 00:00:00 bash ...

  2. Linux df -h 显示磁盘空间满,但实际未占用满——问题分析

    问题现象 工作中遇到一个问题,在 TX2 系统上,告警提示磁盘空间不够,如图所示 wohu@wohu:/$ df -h Filesystem Size Used Avail Use% Mounted ...

  3. 虚拟服务器磁盘满了咋办,虚拟主机磁盘空间不够用怎么办?

    在使用 虚拟主机磁盘空间不够用怎么办? 一.清除安装文件 对于已经安装完毕的应用程序,也包括不用的主题和插件,及时删除没有实际用处的安装文件可以节省出许多空间容量,且不影响任何网站运行. 二.清楚数据 ...

  4. SharePoint运行状况分析器有关磁盘空间不足的警告

    对于负责管理SharePoint内部部署安装的SharePoint管理员,SharePoint Health Analyzer是一款出色的工具.此功能不仅有助于解决服务器故障和服务失败的问题,还提供了 ...

  5. 一个查看全部用户的磁盘空间使用情况的脚本

    一个查看全部用户的磁盘空间使用情况的脚本 脚本程序例如以下: #!/bin/sh for user in `ls /home` dodu -hs "/home/"$user don ...

  6. 关于Linux服务器磁盘空间占满问题的解决方法

    下面给大家分享一篇关于Linux服务器磁盘占满问题解决方法(/dev/sda3 满了),需要的的朋友参考下吧 下面我们一起来看一篇关于Linux服务器磁盘占满问题解决(/dev/sda3 满了),希望 ...

  7. 面试官问:数据库 delete 表数据,磁盘空间还是被一直占用,为什么?

    以下文章来源方志朋的博客,回复"666"获面试宝典 最近有个上位机获取下位机上报数据的项目,由于上报频率比较频繁且数据量大,导致数据增长过快,磁盘占用多. 为了节约成本,定期进行数 ...

  8. 为什么delete表数据,磁盘空间却还是被占用

    最近有个上位机获取下位机上报数据的项目,由于上报频率比较频繁且数据量大,导致数据增长过快,磁盘占用多. 为了节约成本,定期进行数据备份,并通过delete删除表记录. 明明已经执行了delete,可表 ...

  9. centos 调整home分区xfs_centos 7.4 磁盘空间不足,扩容根分区 --lvm模式

    背景:根分区磁盘空间不足,需要扩容root磁盘空间 1.查看现有磁盘信息,可以看出根分区有26G [root@localhost ~]# df -h 2.查看新增加的磁盘信息(改虚拟机已经添加好了,不 ...

最新文章

  1. DzzOffice1.0 Beta2发布
  2. c8800 mp4设置
  3. nodejs+webpack+vue以及npm安装对应的库
  4. 你能分清多进程与多线程吗?
  5. java timezone_Java TimeZone getAvailableIDs()方法与示例
  6. C++ opengl 方向光
  7. Nginx根据路径设置静态资源
  8. MySQL详细安装(windows)
  9. 北京的小伙伴,本周五阿里聚安全约你来玩
  10. 《Java EE互联网轻量级框架整合开发》在京东预售,发个目录
  11. 电脑软件推荐【含软件链接】:压缩,插件,截屏,录制,办公,电脑防护与修复,磁盘清理,软件卸载......
  12. 字体角度css代码,CSS中font-style定义字体倾斜体样式的代码示例
  13. 技术揭秘QQ空间”自动转发不良信息
  14. 【数据结构06】二叉平衡树(AVL树)
  15. 转换到coff期间_fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 | Lellansin's 冰森...
  16. python制作动态表情包,用 Python 开发一个【GIF表情包制作神器】
  17. 这学期她选修了英语 计算机 驾驶三门课程,大一英语翻译答案
  18. 我的政治理想《爱因斯坦文集》
  19. Spring Security系列教程03--创建SpringSecurity项目
  20. 正六边形C语言输出算法记录

热门文章

  1. AI助特朗普当选?FB史上最大数据滥用曝光,牵出ACL终身奖得主
  2. 有人上传你的脸?Facebook新功能立刻就会提醒你
  3. ROS 2正式版终于来了,还增加了这些新特性
  4. react离开页面,自定义弹框拦截,路由拦截
  5. 数据计算中间件技术综述
  6. ORACLE取周、月、季、年的開始时间和结束时间
  7. R读写Excel文件中数据的方法
  8. Android 成用户隐私安全问题严重
  9. Python学习日志(二)
  10. Kvm虚拟化性能测试与性能优化实践