`
taburissmeng
  • 浏览: 5090 次
  • 性别: Icon_minigender_1
  • 来自: 济南
文章分类
社区版块
存档分类
最新评论

在使用hibernate search建立索引时发现的一个问题

阅读更多
       我程序里有14个实体类,数据库里表是17个,没有任何数据,之前三个实体的时候没有问题,但今天用hibernate search建立索引时,用junit测试时会有大概30%左右的概率会出现卡死的现象。然后在tomcat中运行,每次必卡死。跟踪了一下源码,发现hibernate search在建立索引的时候在运行BatchCoordinator这个类的dobatchwork方法的时候卡住的。
       源码中是用ExecutorService,利用java的线程池来执行多个线程,每个线程分别对每个实体建立索引。
       在debug的时候,发现如果挨个执行的话,是没有问题的。但如果一起执行的话,就会有问题。具体原因不明,看了一下最新的4.2版的源码,这个地方没变。所以为了能用,我只好采用比较极端的处理办法,把这里多线程并发执行改成挨个执行,效率可想而知会受到影响,不过考虑到只是建立索引的话问题不大,就是不知道会不会影响其他的,目前就是这种处理办法了。
       下为源码(未改动)
private void doBatchWork() throws InterruptedException {
		ExecutorService executor = Executors.newFixedThreadPool( rootEntities.length, "BatchIndexingWorkspace" );
		for ( Class<?> type : rootEntities ) {
			executor.execute(
					new BatchIndexingWorkspace(
							searchFactoryImplementor, sessionFactory, type,
							objectLoadingThreads, collectionLoadingThreads,
							cacheMode, objectLoadingBatchSize,
							endAllSignal, monitor, backend, objectsLimit
					)
			);
		}
		executor.shutdown();
		endAllSignal.await(); //waits for the executor to finish
	}
分享到:
评论
1 楼 u014077165 2015-02-06  
你好,找到解决办法了吗,我的qq748227431,希望可以联系,我也遇到这个困难,

相关推荐

    hibernateSearch 搜索 索引列子源代码

    **hibernateSearch 搜索 索引列子源代码** Hibernate Search 是 Hibernate 的一个扩展模块,它将全文搜索引擎的功能集成到了 Java 应用中,允许开发者在数据库中进行复杂的文本搜索。本教程将深入探讨 Hibernate ...

    Hibernate Search配置及简单应用

    Hibernate Search是Hibernate框架的一个扩展,它允许我们在应用程序中实现全文检索功能,使得数据库中的数据可以被快速、高效地搜索。这个功能尤其在处理大量文本数据时非常有用,比如在电商网站的商品搜索或者新闻...

    使用 hibernate-search 实现全文检索及文档管理的例子

    Hibernate Search是Hibernate ORM框架的一个扩展,它提供了对数据库中的对象进行全文检索的能力,使得我们可以高效地在大量数据中找到我们需要的信息。本例子将深入探讨如何使用Hibernate Search来实现这一功能。 #...

    使用hibernate search实现全文检索和文档管理的例子

    使用hibernate search实现全文检索和文档管理功能: 1 全文检索 2 手动生成索引 3 文档上传(自动建立索引) 4 文档更新(自动建立索引) 5 文档删除 使用说明: 1 需要先恢复数据库 searchDB_2008sqlserver.bak 2 ...

    hibernate search4.2

    Hibernate Search 4.2 是一个基于 Hibernate ORM 的全文搜索引擎组件,它允许开发者在 Java 应用程序中实现高效、复杂的全文检索功能。该版本发布于几年前,但仍然是许多项目依赖的重要工具,尤其对于那些需要在大量...

    Hibernate搜索框架HibernateSearch.zip

    它是hibernate对著名的全文检索系统Lucene的一个集成方案,作用在于对数据表中某些内容庞大的字段(如声明为text的字段)建立全文索引,这样通过hibernate search就可以对这些字段进行全文检索后获得相应的POJO,...

    hibernate-search-4.3.0.zip

    Hibernate Search是Hibernate项目的一个扩展,允许开发者在ORM实体上执行复杂的全文搜索。它将数据库数据与Lucene索引紧密结合,提供实时搜索、排序和过滤功能。4.3.0版本在此基础上进一步优化了性能和稳定性,为...

    hibernate search-3.4.0.Final-dist

    这个3.4.0.Final版本是Hibernate Search历史上的一个重要里程碑,它在功能、性能和稳定性上都达到了一个全新的高度。 Hibernate Search的核心是Lucene,一个著名的全文搜索引擎库。通过集成Lucene,Hibernate ...

    hibernate-search-5.6.0.Alpha3-dist.zip

    总结来说,Hibernate Search 5.6.0.Alpha3是一个强大的企业级搜索解决方案,它结合了ORM的强大功能和搜索引擎的高效检索,为开发者提供了在Java应用程序中实现复杂、高性能搜索的途径。无论是小规模的个人项目还是大...

    hibernate-search-5.1.1.Final-dist.zip

    Hibernate Search是Hibernate项目的一个重要组成部分,它将强大的全文搜索引擎Lucene集成到Java持久化框架Hibernate中,使得在Java应用程序中进行复杂的全文搜索变得简单而高效。在本篇文章中,我们将深入探讨...

    hibernate-search-4.5.0.Final-dist.zip

    1. **全文检索**:通过使用Apache Lucene库,Hibernate Search能对数据库中的文本字段建立索引,支持模糊匹配、短语查询、词语权重调整等多种全文搜索功能。 2. **多语言支持**:支持多种语言的分词和排序,包括...

    Hibernate Search in Action

    2. **数据索引和操作**:深入讲解了如何使用Hibernate Search建立数据索引,并对索引进行增删改查等操作。 - **索引构建**:介绍如何根据数据结构特点构建高效的索引。 - **索引维护**:如何保持索引的实时性和...

    中文分词检索IKAnalyzer3.2.3Stable+hibernate-search3.4.0.Final

    3. **数据存储**:使用Hibernate ORM进行数据库操作,同时通过Hibernate Search建立全文索引,提高检索效率。 4. **全文检索**:利用Lucene提供的功能实现高效的全文检索,这里使用了Lucene 3.1版本。 5. **分词处理...

    Hibernate Search 3.0 GA

    它是hibernate对著名的全文检索系统Lucene的一个集成方案,作用在于对数据表中某些内容庞大的字段(如声明为text的字段)建立全文索引,这样通过hibernate search就可以对这些字段进行全文检索后获得相应的POJO,...

    hibernate5.5.4

    2. **分析器(Analyzer)**: Hibernate Search使用Lucene的分析器来处理文本,比如分词、去除停用词、词形还原等,以便于建立索引和查询。 3. **近实时搜索**: 搜索结果几乎是实时的,因为Hibernate Search会监听...

    hibernate-search-4.1.0.Final-dist.zip

    Hibernate Search是一个在Java应用中实现全文检索的解决方案,它通过与Hibernate ORM紧密结合,使得开发者能够方便地在持久化模型对象上定义索引,并进行复杂的全文检索。4.1.0.Final版本是在该技术发展过程中一个...

    hibernate-search-4.1.1.Final.rar

    Hibernate Search通过透明地在数据库和Lucene之间建立桥梁,使得开发者无需处理底层的索引和搜索逻辑。在4.1.1.Final版本中,已经实现了对最新版Lucene的兼容,提升了搜索性能。 3. **对象持久化** Hibernate ...

    hibernate-search-4.5.2.Final-dist.zip

    3. 初始化:在应用启动时,使用`FullTextSession`初始化搜索引擎并建立索引。 三、主要特性 1. 实时索引:Hibernate Search能够在数据保存到数据库的同时更新索引,实现真正的实时搜索。 2. 多字段搜索:通过`@...

    hibernate-search-4.2.0.Beta2-dist.zip

    Hibernate Search是Hibernate ORM框架的一个扩展,它提供了在Java应用中进行全文检索和复杂查询的强大功能。本次我们关注的是4.2.0.Beta2版本,它是Hibernate Search发展的一个重要里程碑,为开发者带来了诸多改进...

Global site tag (gtag.js) - Google Analytics