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

三天不学习,赶不上比安奇 之 Hibernate Search 的 reindex

阅读更多

以前做过 Hibernate Search的重建索引,就是老老实实的把所有的Mapped Class 找出来,

然后一个Class一个Class的找每个对象进行reindex,代码很长,写的很累。如下,先找到

所有的Class,

 

public void reindex() {
		Session session = getSession();
		
		FullTextSession fullTextSession = Search.getFullTextSession( session);
                fullTextSession.setFlushMode(FlushMode.MANUAL);
		fullTextSession.setCacheMode(CacheMode.IGNORE);
		Transaction tx = fullTextSession.beginTransaction();

		WebApplicationContext cxt = 
			WebApplicationContextUtils.getWebApplicationContext( getServletContext());
		AnnotationSessionFactoryBean factory = (AnnotationSessionFactoryBean) cxt.getBean( "&sessionFactory");
		Iterator iter = factory.getConfiguration().getClassMappings();
		while( iter.hasNext()) {
			RootClass clz = (RootClass) iter.next();
			buildClassIndex( fullTextSession, clz.getMappedClass());
		}

		tx.commit(); //index are written at commit time    
}

 

然后再每个类的对象都找出来build一下:

	private void buildClassIndex(FullTextSession fullTextSession, Class mappedClass) {
		//Scrollable results will avoid loading too many objects in memory
		fullTextSession.purgeAll( mappedClass);

		ScrollableResults results = fullTextSession.createCriteria( mappedClass)
		    .setFetchSize(BATCH_SIZE).scroll( ScrollMode.FORWARD_ONLY );
		int index = 0;
		while( results.next() ) {
		    index++;
		    fullTextSession.index( results.get(0) ); //index each element
		    if (index % BATCH_SIZE == 0) {
		        fullTextSession.flush(); //apply changes to indexes
		        fullTextSession.clear(); //clear since the queue is processed
		    }
		}
	}

 

很复杂吧。现在简单多了,两行代码:

public void reindex() {
		FullTextSession fullTextSession = Search.getFullTextSession( getSession());
		fullTextSession.createIndexer().startAndWait();

}

 

还可以用异步的方式来进行重建索引,直接调用 fullTextSession.createIndexer().start(); 就可以了。

真是三天不学习,赶不上比安奇。

 

2
0
分享到:
评论
2 楼 SimonLei 2011-12-21  
做了一个线程,以及一个线程的Monitor,在前台显示进度。
1 楼 toeo 2011-12-19  
学习下。。想知道这个 是跑一个线程执行。还是 一直在等待。。

相关推荐

    比安奇宇宙学的泊松-李身份和对偶性

    我们研究了Bianchi宇宙学关于非半简单Bianchi群不变的一类特殊的Poisson-Lie T多元变换。 对于六维半阿贝尔马宁三元组$$ \ mathfrak {b} \ bowtie \ mathfrak {a} $$b⋈a包含Bianchi代数$$ \ mathfrak {b} $$ b,...

    2008年12月四级考试真题

    显然,斯特拉·比安奇在公园的遭遇引发了关于如何正确处理孩子间冲突和家长介入方式的讨论。在这个事件中,斯特拉选择了立即但温和地纠正孩子的行为,而另一位母亲则对此表示不满,认为斯特拉无权管教她的孩子。 ...

    宇宙如何以宇宙学和引力常数进化

    利用基本的时空截止time,我们研究了正规化和量化的爱因斯坦-卡坦引力场理论及其在重力计的紫外线不稳定定点gir≳0和紫外线稳定定点guv≈4/ 3的范围 耦合g =(4/3)G / GNewton。 因为量子引力场理论的基本算符是2维...

    论文研究 - 宇宙学中的局部性和全局性

    我们还表明,对于可以几何地解释为半径随时间变化的伪超球面的宇宙学模型,爱因斯坦场方程不足以完全描述该模型。 此外,还需要比安奇恒等式的微分方程组来描述宇宙的时间演化。 我们以de Sitter宇宙,管腔下宇宙和...

    online-learning:一些基本的在线学习算法

    在线学习算法 在专家建议下的在线学习环境中实施一些在线算法: 外部后悔最小化:指数加权平均预报员 内部后悔最小化:切萨·比安奇和卢戈斯减少了外部后悔最小化(第4章) 在线校准:通过内部后悔最小化 在线重新...

    非半简单群体的非阿贝尔T对偶

    我们针对非半简单组重新研究非阿贝尔T对偶性,众所周知,混合重力规异常会导致$$ \ sigma $$σ-模型是规模的,但不是Weyl不变的。 考虑到Elitzer,Giveton,Rabinovici,... 我们用比安奇时空来说明我们的发现。

    超流形配方中的DFT和群流形作为背景几何

    我们在QP之前的歧管上开发DFT的配方。 诸如截面条件和闭合约束之类的一致性条件由一个... 比安奇身份还具有比安奇之前的身份。 然后,通过使用协变的预QP流形来制定背景度量和连接。 给出了在群流形上的DFT分析的应用。

    高曲率Bianchi恒等式,广义几何和L∞代数

    超重力中的波速通量的比安奇恒等式可以接受更高的导数校正和弦校正,其中最著名的是异质理论dH =14α'(tr F2-tr R2)。 较少研究的是R4阶的修饰,例如在M理论紧缩的七种形式通量的Bianchi恒等式中。 我们认为,这样...

    Schwarzschild几何中的自发CPT破坏和费米子传播

    计算了度量上背景场期望值的相应后向反应,从而生成了一个一致的模型,用于描述伪黎曼几何学背景下违反CPT的效应。 发现广义相对论的比安奇恒等式和规范理论是相互一致的,并且与黎曼几何没有冲突。 这个事实在背景...

    传谷歌或收购社交平台Ning 后者估值1.5亿美元.docx

    Ning是一家专注于提供社交网络建设服务的公司,由马克·安德森和吉娜·比安奇尼共同创建。此次收购传闻表明谷歌可能在寻求扩展其在社交领域的影响力或获取Ning的特定技术和资源。 描述中提到,Ning正在与其他几家...

    缓慢旋转的黑色三硼烷的扩散常数

    在本文中,我们采用缓慢旋转的黑色三菱形背景,并通过引入矢量量规场对其进行干扰。 我们通过麦克斯韦方程和比安奇恒等式找到了规范场的组成部分。 使用电流和一定的ansatz,我们发现了Fick在长波长范围的第一定律。...

    关于Ⅱ类弦论非超对称有效作用的特殊极限

    利用非BPS散射幅度,我们不仅探索了在麸皮的横向和世界体积方向上都保持的几种比安奇身份,而且还揭示了各种新的耦合。 这些耦合仅可以通过考虑混合的回拉和泰勒耦合来找到,在这些混合耦合中还导出了它们所有阶数...

    dotfiles:个人配置文件

    马克·比安奇圆点文件 这是我组织和管理点文件的尝试。 在github上大量使用了其他工具。 我使用了一些方法,他提倡使用软件包。 在也有一些很好的在线资源。 我主要在Mac OS X上运行,有时在linux和cygwin上运行。 ...

    II型理论中的BPS弦的SYM理论和所有阶整体奇异结构

    应当考虑到来自麸皮,迈尔斯项和几个广义比安奇恒等式的各种耦合,以便能够重构IIB型(IIA)超弦理论的所有阶α'整体奇异性。 最后,我们评论一下如何毫不含糊地推导该S矩阵的所有阶次α'接触项,这些项在横向方向...

    Bianchi I模型作为周期性宇宙的原型

    然后,我们将其应用于从狄拉克约束产生的绝热近似la Vilenkin的高分子Wheeler-DeWitt方程, 它把宇宙体积当作准经典变量,实际上变成了在宇宙各向异性中确定的纯量子自由度的动态时钟。本分析的主要问题是确定比安奇...

    狄拉克弦的变奏

    狄拉克(Dirac)对磁单极子的非平凡比安奇身份的原始解决方案[1]重新定义了狄拉克弦的磁场强度,使轨距和单极自由度成对角线。 我们提供Dirac字符串的变体,我们通过正式扩展Bianchi身份来激发这一变化。 我们将展示...

    非阿贝尔规范场有效理论中的稳定有限能量密度解

    我们使用比安奇恒等式积分超过3(Nc2-1)的场强,并获得动量空间中其余3(Nc2-1)场强的有效作用。 我们获得了有效理论的运动方程(EOM)的静态解。 这些解在动量的z分量中表现出高斯性质,并且与其余动量的delta...

    高二语文期中试卷河南省豫南七校2008—2009学年上期期中联考高二语文联考试卷[精选].doc

    5. 科研方法:提到的戴安娜·W·比安奇的研究工作体现了科学研究的方法,包括观察、实验、样本分析和理论推断,揭示了生物学的一个新发现。 6. 社会现象:试卷题目和文段中的“金融大海啸”指的是2008年的全球金融...

    matlab代码csma-bianchi:用于研究IEEE802.11n和802.11ac标准的Bianchi模型的Matlab/Octave

    比安奇的模型 该存储库包含一个 Matlab/Octave 脚本,用于研究 IEEE 802.11n 和 802.11ac 标准的 Bianchi 模型。 快速开始 在运行脚本之前,在脚本开始时修改所需用例的输入参数: % Change these parameters for ...

Global site tag (gtag.js) - Google Analytics