`

17) 第二章 索引:优化索引(Optimizing)

阅读更多

 

  索引文件的多个段可以合并成一个或少量几个。这样将节省一部分硬盘空间,更重要的是,它可以加快搜索速度。需要注意的是,是加快搜索速度,并非加快索引速度。方法很简单:

optimize(int maxNumSegments, boolean doWait);

   maxNumSegments 代表合并后可能存在的最大段数,也就是传入5,合并完可能存在1或2或3或4或5个段;另外就是,合并成1个段比合并成5个更耗时。

   doWait 表示是否等待。如果传入false,则该方法会立即返回,索引文件的合并工作将在后台执行。

 

  只提供一个方法是不是显得太单调了?Lucene比较蛋疼的为我们设置了两个特殊状态:maxNumSegments为1 和 doWait为true。下面是这两种的组合:

optimize(boolean doWait);        //该方法的maxNumSegments为1,你可以指定doWait
optimize(int maxNumSegments);    //该方法的doWait为true,你可以指定maxNumSegments
optimize();                      //该方法的maxNumSegments为1,doWait为true

    好了,这一节也非常简单,在结束之前提醒大家一下:在做Optimizing的时候,最好保证磁盘空间足够大,大到是当前索引文件的3倍!具体原因先不细谈了。

 

 

 

 

 

2
1
分享到:
评论
4 楼 BuN_Ny 2012-05-07  
zeng1990 写道
BuN_Ny 写道
feizhang666 写道
现在已经是lucene3.5了,optimize这个方法被弃用了

lucene这个项目很有潜力啊!发展这么快。

是不是说已经不需要优化了,还是有其他的办法进行优化?

不用显示调用了。搜索速度提高了很多,lucene的索引段文件合并挺复杂的,会把大小相近的文件归档到一起,达到一定数量后(默认好像是10个)自动合并。
3 楼 zeng1990 2012-05-07  
BuN_Ny 写道
feizhang666 写道
现在已经是lucene3.5了,optimize这个方法被弃用了

lucene这个项目很有潜力啊!发展这么快。

是不是说已经不需要优化了,还是有其他的办法进行优化?
2 楼 BuN_Ny 2012-01-17  
feizhang666 写道
现在已经是lucene3.5了,optimize这个方法被弃用了

lucene这个项目很有潜力啊!发展这么快。
1 楼 feizhang666 2012-01-14  
现在已经是lucene3.5了,optimize这个方法被弃用了

相关推荐

    SAP 索引 index

    #### 二、支持索引的表格(Table that Allow Indexing) 并非所有表格都允许创建索引。以下类型的表格支持索引: - **透明表(Transparent Tables):** - 所有的业务数据和应用程序数据都存储在透明表中。 - 示例:...

    Optimizing Java: Practical Techniques for Improving JVM Application Performance

    Pub Date: 2018 Learn how Java principles and technology make the best use of modern hardware and operating systems Explore several performance tests and common anti-patterns that can vex your team ...

    优化Flash性能 Optimizing Flash performance

    对于深入学习和实践,可以参考"Optimizing Flash performance.pdf"文档,其中可能包含了更多细节和案例分析。同时,"support_files"可能包含了一些示例代码或额外的参考资料,帮助读者更好地理解和应用这些优化技巧...

    LB +-树:优化3DXPoint内存上的持久索引性能

    LB +-树:优化3DXPoint内存上的持久索引性能

    optimizing C++ C++优化-英文版

    - **使用性能分析工具(Profiler)**来定位程序中的热点,即消耗最多资源的部分,这是优化的第一步。 - **内存访问**:优化数据结构的布局,减少缓存缺失,可以大幅提高性能。 - **上下文切换**:减少不必要的线程...

    Building an Optimizing Compiler

    通过上述知识点的总结,我们可以看到《Building an Optimizing Compiler》这本书涵盖了从编译器的基础知识到高级优化技术的全面内容,为读者提供了深入学习编译器原理和技术的机会。无论是对于学术研究还是工业实践...

    C++优化手册Optimizing software in C++

    ### C++优化手册知识点概述 #### 一、引言与优化成本分析 - **引言**:本手册旨在为Windows、Linux及Mac平台上的C++应用程序提供全面的优化指南。作者Agner Fog是哥本哈根工程大学的一位资深专家。 - **优化的成本*...

    Optimizing parallel reduction in CUDA 规约优化文档

    标题“Optimizing parallel reduction in CUDA 规约优化文档”明确指出本文档的主要内容是关于如何在CUDA(Compute Unified Device Architecture)环境下对并行规约(parallel reduction)进行优化。 #### 描述解析...

    Optimizing Java Practical Techniques for Improved

    Optimizing Java Practical Techniques for Improved 完整版,不是early release

    [OPTIMIZING]OPTIMIZING_ASSEMBLY

    ### 优化汇编语言子程序 #### 一、引言 在计算机科学领域,汇编语言作为一种低级语言,能够直接与硬件交互,提供了一种高效的方法来编写高性能的代码。本文档旨在介绍如何针对x86平台进行汇编语言编程的优化方法,...

    optimizing_cpp_optimizing_C++_

    编译器是优化的第一步。大多数现代C++编译器(如GCC和Clang)提供了多级别的优化选项,如-O1、-O2、-O3和-Os。-O3通常用于最大化的性能优化,但可能导致代码体积增大;-Os则注重代码大小的优化。了解并适当地使用...

    Optimizing Aerodynamic Design Problems

    根据提供的文件信息,我们可以深入探讨优化空气动力学设计问题的相关知识点。这主要包括问题描述、边界约束下的直接最小化方法、所用方法的介绍、数值实验及其结论等方面。 ### 问题描述 在空气动力学设计领域,...

    信息安全_数据安全_Automation_vs_Human_Eyes:Optimizing_Hu.pdf

    信息安全_数据安全_Automation_vs_Human_Eyes:Optimizing_Hu 边界防御 应用审计 web安全 云安全 用户隐私

    优化C ++Optimizing C++

    ### 二、优化C++程序的重要性 尽管C++提供了强大的功能,但编写出高效且易于维护的代码仍然是一项挑战。优化不仅仅是为了提高程序运行速度,还包括降低内存使用量、减少代码复杂度等方面。有效的优化可以显著提升...

    8.2 Optimizing SQL Statements

    MySQL通过不同的策略对WHERE子句进行优化,如范围优化、索引合并优化、引擎条件推送优化、索引条件推送优化以及索引扩展使用等。此外,针对NULL值的查询、左连接和右连接、嵌套循环连接算法、外部连接简化、多范围...

    Optimizing software in C++

    《Optimizing software in C++》是一本针对Windows、Linux和Mac平台的C++软件优化指南,作者为Agner Fog,来自丹麦技术大学。该文档最后更新于2017年5月2日,涵盖了软件优化的多个方面,从基础平台的选择到具体的...

    《Optimizing software in C++》

    《Optimizing software in C++》是一本由Agner Fog所著、丹麦技术大学出版的优化指南,专门针对Windows、Linux和Mac平台的C++软件性能提升。这本书旨在帮助开发者理解并实施有效的优化策略,以提高软件在不同操作...

    操作系统—线程: Optimizing threaded MPI execution on SMP

    ### 操作系统—线程:优化SMP上基于线程的MPI执行 #### 摘要与背景 本文深入探讨了在共享内存多处理器(SMP)集群上使用线程来执行消息传递接口(MPI)程序的方法,并研究了其设计与实现。作者通过实验证明,在多...

Global site tag (gtag.js) - Google Analytics