首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >写完后是否必须优化lucene索引?

写完后是否必须优化lucene索引?
EN

Stack Overflow用户
提问于 2010-10-12 06:51:16
回答 2查看 1.5K关注 0票数 9

目前,我在编写完成后调用索引编写器的优化方法。因为我的数据集很大,所以需要很长时间(并且需要更多的空间(2*实际大小))来优化索引。我非常关注这一点,因为索引中经常包含许多文件。

所以

  1. 可以关闭优化吗?
  2. 什么是性能方面的含义,比如当查询未被选择时,查询速度会慢多少?

干杯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-12 07:31:47

Lucene常见问题说:

什么是索引优化以及何时使用它? IndexWriter类支持优化()方法,该方法压缩索引数据库并加快查询速度。在对文档集执行完整索引或索引增量更新之后,您可能希望使用此方法。如果增量更新经常添加文档,则只希望偶尔执行一次优化,以避免优化的额外开销。 如果我决定不优化索引,什么时候删除被删除的文档? 被删除的文档被标记为已删除。但是,在对索引进行优化之前,它们在索引中占用的空间不会被回收。随着更多的文档被添加到索引中,这个空间最终也会被回收,即使索引没有得到优化。

票数 14
EN

Stack Overflow用户

发布于 2010-10-12 07:54:29

您最了解您的数据,所以我建议您执行一些测试来度量您的查询在optimize步骤下运行的速度。

根据javadocs,“在更新频繁的环境中,优化最好是在低卷时间内完成,如果有的话”。只有在必要时才应该进行优化。如果自上次优化以来,只有5%的文档发生了更改,那么这是不必要的,因此要了解文档更改的频率。也许你可以减少optimise的频率,比如每隔几个小时或者一天一次。

还请看一看这条线,其中他们建议在索引不断更新的环境中,不要调用优化,而是选择设置较低的mergeFactor

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

https://stackoverflow.com/questions/3912253

复制
相关文章

相似问题

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