hibernate3.2以后,好像对lucene集成这一块多了一个项目hibernate-search,现有网上中文的配置,与这个有点出入。
现将我的配置过程记录如下:
spring中配置:
在sessionFactory的配置中加上
<property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration"/>
<property name="configLocation" value="classpath:config/hibernate.cfg.xml"/>
hibernate.cfg.xml配置:
<hibernate-configuration>
<session-factory name="sessionFactory">
<property name="hibernate.search.default.indexBase">/home/steven/workspace/syn-webshop/indexDir</property><!--索引存放的路径-->
<property name="hibernate.search.default.directory_provider">org.hibernate.search.store.FSDirectoryProvider</property>
<event type="post-update"><listener class="com.synjones.webshop.event.ProductLuceneEventListener"/></event>
<event type="post-insert"><listener class="com.synjones.webshop.event.ProductLuceneEventListener"/></event>
<event type="post-delete"><listener class="com.synjones.webshop.event.ProductLuceneEventListener"/></event>
</session-factory>
</hibernate-configuration>
在domain的类前,
@Indexed(Index/Products)
主键加上
@DocumentId
需要索引的字段前加@Field(index=Index.TOKENIZED, store=Store.NO)
hibernate通过上面定义的listener,当要被索引的字段增删改的时候,会相应创建删除索引,有的时候,你可能不会真的删除数据库的数据,而是做了一个删除的标记,这个时候,需要重载一下定义的listener,注意,重载只有在3.0.1GA以上版本才行,因为这个版本的里面的一些方法的字段是private,在3.0.1.GA后是protected
或者自己实现PostUpdateEventListener, Initializable,接口,在配置的时候,写上自己的listener就行.
分享到:
相关推荐
为了启用 Hibernate Search 功能,需要在项目的配置文件中添加相应的设置。这通常是在 `hibernate.cfg.xml` 或者其他配置文件中完成的。配置项包括但不限于: - **启用 Hibernate Search**:可以通过 `...
通过研究这些资源,开发者可以更好地理解如何在实际项目中应用Lucene和Hibernate的结合,从而提高应用程序的搜索功能,为用户提供更加高效和精准的搜索体验。 总结来说,"Lucene Hibernate"的结合是一个强大的工具...
lucene3.5 IKAnalyzer3.2.5 实例中文分词通过,目前在网上找的lucene 和IKAnalyzer 的最新版本测试通过。内含:示例代码,以及最新jar包。 lucene lucene3.5 IKAnalyzer IKAnalyzer3.2.5 jar 中文 分词
【标题】"Spring+Hibernate3+Struts2+Lucene" 框架组合是过去在Web开发中广泛采用的一种技术栈,它整合了四个强大的开源框架,为构建高效、可扩展的企业级应用提供了坚实的基础。 Spring框架是Java企业级应用的核心...
本篇文章将深入探讨如何在Spring MVC项目中集成Lucene进行全文搜索,以提升用户体验。 首先,我们需要理解Spring MVC和Lucene的基本概念。Spring MVC是一种基于模型-视图-控制器(MVC)架构模式的轻量级Web框架,它...
在这个“ssh集成Lucene4.7demo”项目中,开发者将SSH框架与Lucene 4.7版本的全文搜索引擎进行了整合,同时还引入了IKAnalyzer作为中文分词器,以支持对中文文本的处理。这个示例项目不仅包含了基本的整合工作,还...
Struts、Hibernate、Spring、JPA、Lucene、JBPM和Compass是Java开发中常用的一系列技术,它们各自在不同的领域发挥着重要作用。这里我们将深入探讨这些技术以及如何将它们整合在一起进行配置。 1. **Struts**:...
在Java Web项目中,SSM框架与Lucene结合,可以为用户提供高效的全文搜索功能。通常集成流程包括: - 配置Lucene的依赖到项目中。 - 创建索引服务,对需要搜索的数据进行索引,这可能涉及到MyBatis的Mapper来获取...
通过学习和实践这个项目,搜索初学者可以深入理解Lucene的工作原理,掌握在实际项目中如何集成和使用Lucene。 总之,Lucene是一个强大的搜索引擎工具,能够有效地帮助Java Web开发者实现复杂的信息检索功能。通过...
通常,这涉及到在`pom.xml`(如果你的项目是Maven)或`build.gradle`(如果是Gradle)文件中添加Hibernate Search和Lucene库。例如: ```xml <groupId>org.hibernate <artifactId>hibernate-search-orm ...
Lucene.NET与分词器的集成 集成第三方分词器到Lucene.NET主要涉及以下几个步骤: 1. **安装分词器**:首先需要在项目中引入分词器的NuGet包或源码。 2. **配置分词器**:在Lucene.NET的索引创建阶段,需要配置...
"Lucene与SSH2搜索功能"的主题聚焦于如何在Java Web开发环境中利用Apache Lucene库来构建强大的搜索功能,并结合Struts2、Spring和Hibernate(简称SSH2)这三大框架进行整合。下面我们将深入探讨这些技术及其相互...
本文将结合“lucene 华电项目 源码”,深度解析Lucene的核心原理以及在华电项目中的实际应用。 首先,我们要理解Lucene的基本架构。Lucene的核心组件包括Analyzer(分析器)、Document(文档)、IndexWriter(索引...
在信息技术领域,搜索引擎已经成为不可或缺的一部分,而Lucene作为开源全文搜索引擎库,以其高效、灵活的特点被广泛应用于各种JavaEE项目中。本项目将深入探讨如何利用Lucene进行JavaEE项目的开发,旨在帮助开发者...
Lucene是一个高性能、全文本搜索库,它为开发者提供了在Java应用程序中实现全文检索的工具集。这个名为“lucene搜索引擎项目”的资源,旨在帮助用户更好地理解和应用Lucene来构建自己的搜索引擎。下面将详细探讨...
在配置文件部分,通常会有`hibernate.search.default.indexmanager`配置项,指定使用的索引管理器,如Lucene的默认实现。还有`hibernate.search.default.directory_provider`用于设置索引存储的位置,如内存或文件...
在本教程中,我们将探讨如何将IK分词器集成到Lucene 4.5版本中,以提升中文文本处理的效率和准确性。 首先,让我们了解一下IKAnalyzer。IKAnalyzer是由国人开发的一款开源中文分词库,它具有较好的分词效果和较高的...
汉纳拼音Lucene插件(hanlp-lucene-plugin)是一个专为中文处理设计的扩展工具,它将著名的HanLP中文分词库与流行的全文检索框架Lucene进行了集成,旨在提升在Lucene及其衍生产品(如Solr)中的中文处理能力。...
通过这个项目,开发者可以学习如何在JavaEE环境中集成这些流行的技术,提升自己的全栈开发能力。此外,对于希望构建具有复杂搜索功能的企业级应用的开发者来说,这是一个很好的学习和参考案例。项目中包含的文件涵盖...
开发者可以通过阅读项目的源码,学习如何在实际项目中集成Lucene,以及如何设计和优化搜索功能。 总结来说,“lucene_web”项目是一个很好的学习资源,它将理论知识与实践相结合,帮助开发者掌握Lucene在Web环境中...