`
struggle2036
  • 浏览: 6753 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate Search(基于version3.4)--第七章Index Optimization

阅读更多

Index Optimization

 

随着时间推移,Lucene index需要经过优化。这个过程实际上是文件的合并。在优化操作触发之前,Lucene文档删除操作只是标志删除的文档,并不会从物理上删除文档。在优化过程中,将会应用删除操作,也会影响Lucene Directory中文件的数量。

 

优化Lucene index可以提高搜索的速度,但对于更新操作是毫无效果的。在优化过程中,也可以进行搜索操作,但会显得有些慢。所有的index更新操作会被停止。它推荐schedule optimization:

 

 

  • 在一个空闲的系统中或当搜索不频繁时。
  • 在大量index修改后
当使用MassIndexer(see Section 6.3.2, “Using a MassIndexer”),它会在建立index过程中优化。也可以使用MassIndexer.optimizeAfterPurge和 MassIndexer.optimizeOnFinish改变MassIndexer的表现
 
7.1. Automatic optimization
Hibernate Search会在下面情景后自动地进行优化操作:
  • 在一定操作数后(插入,删除)
  • 在进行了一定事务处理数量后
可以在全局级别或具体index级别上定义自动index优化配置:
Properties代码  收藏代码
  1. hibernate.search.default.optimizer.operation_limit.max = 1000  
  2. hibernate.search.default.optimizer.transaction_limit.max = 100  
  3. hibernate.search.Animal.optimizer.transaction_limit.max = 50  
 
Animal index优化操作会因下面情形触发:
  • 添加删除操作数超过1000
  • 事务数量到过50。hibernate.search.Animal.optimizer.transaction_limit.max比 hibernate.search.default.optimizer.transaction_limit.max有更高的优先级。
如果没有定义这些参数,将不会自动地进行优化操作。
 
7.2. Manual optimization
你也可以通过编程来优化一个Lucene index,这也要借助Hibernate Search的SearchFactory:
 
Example 7.2. Programmatic index optimization
Java代码  收藏代码
  1. FullTextSession fullTextSession = Search.getFullTextSession(regularSession);  
  2. SearchFactory searchFactory = fullTextSession.getSearchFactory();  
  3.   
  4. searchFactory.optimize(Order.class);  
  5. // or  
  6. searchFactory.optimize();  
 
第一个例子只优化Order索引,第二个例子,优化所有index。

 

Note:searchFactory.optimize()对JMS backend没有任何效果。你必须应用优化操作在Master端。

 

7.3. Adjusting optimization

Apache Lucene有一些参数影响优化过程的表现。Hibernate Search暴露了这些参数:

  • hibernate.search.[default|<indexname>].indexwriter.[batch|transaction].max_buffered_docs
  • hibernate.search.[default|<indexname>].indexwriter.[batch|transaction].max_merge_docs
  • hibernate.search.[default|<indexname>].indexwriter.[batch|transaction].merge_factor
  • hibernate.search.[default|<indexname>].indexwriter.[batch|transaction].ram_buffer_size
  • hibernate.search.[default|<indexname>].indexwriter.[batch|transaction].term_index_interval

 

See Section 3.10, “Tuning Lucene indexing performance” for more details

分享到:
评论

相关推荐

    64-ia-32-architectures-optimization-manual.pdf

    标题和描述中提到的文件名为《64-ia-32-architectures-optimization-manual.pdf》,这是一本CPU设计参考手册。手册标题中包含了“Intel®64和IA-32架构优化参考手册”,意味着手册将对这两个架构进行详细阐述,并...

    an-introduction-to-optimization-4th-edition 习题答案 英文版

    an-introduction-to-optimization-4th-edition-solution-manual 为an introduction-to-optimization-4th-edition 的习题解答,高清英文完整版本

    Biogeography-Based-Optimization-master .zip

    生物地理学优化算法(Biogeography-Based Optimization,简称BBO)是一种新兴的全局优化算法,源于生物地理学中的物种分布和演化理论。该算法模拟了物种在地理空间中的迁移、竞争、适应性等过程,以寻找问题的最优解...

    小海要自强+VINS-Mono-Optimization-master.zip

    VINS-Mono是一种基于单目视觉的Simultaneous Localization And Mapping (SLAM)算法,它在实时环境下能够估计相机的运动轨迹并构建环境的地图。VINS-Mono的主要优点在于其高效性和鲁棒性,能够在资源有限的设备上运行...

    Microgrid-OPTIMIZATION-PSO.rar_PSO_microgrid+pso_optimization_ps

    PSO(Particle Swarm Optimization,粒子群优化算法)是一种基于群体智能的全局优化算法,由Kennedy和Eberhart于1995年提出。该算法模拟了鸟群寻找食物的过程,通过群体中每个粒子的个体经验和全局经验来更新其飞行...

    hibernate_search.pdf

    标题:hibernate_search.pdf 描述与标签:此文档详细介绍了Hibernate Search的使用与配置,一个为Hibernate ORM提供全文搜索功能的扩展。该文档版本为3.1.0.GA,深入探讨了如何将Apache Lucene集成到Hibernate ORM...

    贝叶斯超参数优化库-bayesian-optimization安装包及依赖库

    贝叶斯超参数优化是一种高效的模型调优方法,它基于贝叶斯统计理论,通过构建概率模型来预测不同超参数组合下的目标函数性能,并利用高斯过程作为基础概率模型。在机器学习中,超参数是定义模型结构和训练过程的重要...

    Global-Optimization-Toolbox.zip_global Optimization

    1. 多-start:这是一种基于多次启动的策略,通过在不同的初始点运行局部优化算法,以增加找到全局最优解的概率。 2. 遗传算法(Genetic Algorithm, GA):模仿生物进化过程,通过选择、交叉和变异操作搜索解空间。 3...

    Matlab-Optimization-master_optimization_matlab_

    Matlab的`Global Optimization Toolbox`提供了`multi-start`方法,以及`patternsearch`和`simulannealbnd`等全局优化算法。 6. **拟合与回归**:Matlab的`lsqcurvefit`和`lsqnonlin`函数用于非线性曲线拟合和非线性...

    Robust Optimization - Princeton University Press

    written by Aharon Ben-Tal Laurent El Ghaoui Arkadi Nemirovski ... PART I. ROBUST LINEAR OPTIMIZATION 1 Chapter 1. Uncertain Linear Optimization Problems and their Robust Counterparts 3 ...Index 539

    通信仿真ny-optimization-tkinter-ma开发笔记

    通信仿真ny-optimization-tkinter-ma开发笔记

    Spatio-Temporal-Power-Optimization-for-MIMO-Joint-Communication

    "Spatio-Temporal-Power-Optimization-for-MIMO-Joint-Communication" 这篇论文主要研究了如何在多输入多输出(MIMO)下行系统中实现时空功率优化,以最大化联合通信和雷达感知系统的互信息(MI)。论文首先推导出...

    fixed-wing-optimization-master_固定翼仿真_

    该项目的核心可能是基于某种编程语言(如Python或Matlab)编写的仿真软件。这些代码可能包含了解析流体力学方程的算法,例如利用RANS(Reynolds-Averaged Navier-Stokes)或URANS(Unsteady RANS)方法,用于计算...

Global site tag (gtag.js) - Google Analytics