`
fly.net.cn
  • 浏览: 187345 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate Lucene 的集成

阅读更多

Hibernate Lucene Integration

Hibernate Lucene 的集成

Lucene is a high-performance Java search engine library available from
the Apache Software Foundation. Hibernate Annotations includes a package of
annotations that allows you to mark any domain model object as indexable and
have Hibernate maintain a Lucene index of any instances persisted via
Hibernate.

Lucene是一个高性能的java搜索引擎库,可以从 Apache软件基金组织获取。Hibernate Annotations包括一个注解包,它允许把任何域模型对象标记为可索引的,并且对任何经由Hibernate进行持续化的实例,Hibernate 都会为之维护一个对应的Lucene索引。

Using Lucene to index your entities

使用Lucene为实体建立索引

Annotating your domain model

注解域模型

First, we must declare a persistent class as
@Indexed:

首先,必须将一个持久类声明为@Indexed:

programlisting

@Entity
@Indexed(index="indexes/essays")
public class Essay {
...
}

 

The index attribute tells Hibernate where the
Lucene index is located (a directory on your file system). If you wish
to define a base directory for all lucene indexes, you can use the
hibernate.lucene.index_dir property in your
configuration file.

属性index是告诉Hibernate, Lucene索引信息所在的位置(你文件系统的某个目录)。如果你想为所有的Lucene索引定义一个根目录,你可以在配置文件中用属性hibernate.lucene.index_dir进行配置。

Lucene indexes contain four kinds of fields:
keyword fields, text fields,
unstored fields and unindexed
fields. Hibernate Annotations provides annotations to mark a property of
an entity as one of the first three kinds of indexed fields.

Lucene索引包括四种字段:

keyword字段,text字段,unstored字段和unindexed字段。Hibernate注解提供了将实体属性标记为前三种被索引字段的注解。

programlisting

@Entity
@Indexed(index="indexes/essays")
public class Essay {
...@Id
@Keyword(id=true)
public Long getId(){ return id; } @Text(name="Abstract")
public String getSummary(){ return summary; } @Lob
@Unstored
public String getText(){ return text; } }

 

These annotations define an index with three fields:
Id, Abstract and
Text.

这些注解定义了一个带有三个字段的索引:Id, Abstract 和
Text

Note: you must specify
@Keyword(id=true) on the identifier property of your
entity class.

注意:你必须在你的实体类的标志属性上指定@Keyword(id=true) 。

The analyzer class used to index the elements is configurable
through the hibernate.lucene.analyzer property. If
none defined,
org.apache.lucene.analysis.standard.StandardAnalyzer
is used as the default.

用于对元素建立索引的分析器类是可以通过hibernate.lucene.analyzer属性进行配置的。如果没有定义,则把org.apache.lucene.analysis.standard.StandardAnalyzer作为缺省。

Enabling automatic indexing

激活自动索引

Finally, we enable the LuceneEventListener for
the three Hibernate events that occur after changes are committed to the
database.

我们激活用于帧听三类Hibernate事件的LuceneEventListener,这些事件会在变更被提交至数据库后产生。

programlisting

...
<event type="post-commit-update"></event>

<event type="post-commit-insert"></event>

<event type="post-commit-delete"></event>

 

评论

相关推荐

    Lucene Hibernate

    标题“Lucene Hibernate”揭示了我们讨论的核心主题:如何将Apache Lucene这个强大的全文搜索引擎与Hibernate这款流行的Java对象关系映射(ORM)框架相结合。在这个例子中,我们将深入探讨这两个技术的集成,以及...

    Hibernate Annotation Reference

    ### 五、Hibernate Lucene集成 #### 4.1 使用Lucene索引实体 - **4.1.1 注解模型**:通过特定的注解,如`@Indexed`,将实体类标记为可索引。 - **4.1.2 自动索引**:配置自动索引更新机制,保持索引与数据库同步。 ...

    spring+hibernate3+struts2+lucene

    【标题】"Spring+Hibernate3+Struts2+Lucene" 框架组合是过去在Web开发中广泛采用的一种技术栈,它整合了四个强大的开源框架,为构建高效、可扩展的企业级应用提供了坚实的基础。 Spring框架是Java企业级应用的核心...

    Struts2.3.8整合Hibernate4.2,Spring3.2lucene 3 6 2 SSH整合1.0版

    Struts2.3.8、Hibernate4.2和Spring3.2是Java开发中的三大主流框架,它们分别负责Web层、持久层和业务层的管理,而Lucene 3.6.2则是一个强大的全文搜索引擎库。这个整合版本称为SSH整合1.0版,旨在提供一个高效、...

    hibernate-hql-lucene-1.0.1.Final.zip

    【标题】"hibernate-hql-lucene-1.0.1.Final.zip" 提供的是一个关于Hibernate HQL与Lucene集成的开源项目版本,主要用于在Java应用程序中实现高效、复杂的全文搜索功能。 【描述】"pact-jvm.zip,pact模型" 指的是...

    ssh集成Lucene4.7demo

    在这个“ssh集成Lucene4.7demo”项目中,开发者将SSH框架与Lucene 4.7版本的全文搜索引擎进行了整合,同时还引入了IKAnalyzer作为中文分词器,以支持对中文文本的处理。这个示例项目不仅包含了基本的整合工作,还...

    J2EE博客系统 struts2+spring+hibernate+oracle+lucene

    《J2EE博客系统:Struts2+Spring+Hibernate+Oracle+Lucene的深度解析》 在现代Web开发中,J2EE(Java Platform, Enterprise Edition)架构是企业级应用的首选平台,它提供了强大的服务支持和丰富的组件库。本篇将...

    Spring3 + Hibernate3 + Lucene3 + Easyui + Mysql 简单例子

    这是一个整合了多个核心技术的Web应用开发实例,涵盖了Spring3、Hibernate3、Lucene3、EasyUI和MySQL等组件。下面将分别对这些技术进行详细解释。 **Spring3**: Spring是一个开源的应用框架,核心功能包括依赖注入...

    Hibernate搜索框架HibernateSearch.zip

    Hibernate Search主要有以下功能特点:1,功能强大,配置简单 - 配置只需要修改persistence.xml(JPA),hibernate.cfg.xml(Hibernate)2,支持Hibernate,以及EJB3 JPA标准应用3,集成全文搜索引擎Lucene - Lucene...

    最新版windows lucene-8.10.0.zip

    在使用这个压缩包时,首先需要解压,然后根据提供的API文档和示例代码,将Lucene集成到你的Java项目中,创建和管理索引,执行搜索查询,并处理搜索结果。同时,确保你的系统环境满足Lucene的运行要求,例如Java版本...

    hibernate中文帮助文档

    5. Hibernate与Lucene集成:Hibernate支持与Apache Lucene集成,使你能够为实体建立全文索引,提高搜索性能。 总的来说,这个中文帮助文档详尽地阐述了使用Hibernate注解进行数据库映射的各种细节,对于理解和使用...

    Search Lucene JavaEE WebApp Struts2 Hibernate.zip

    《构建基于JavaEE的搜索引擎应用:Lucene、Struts2与Hibernate的整合实践》 在当今信息化社会,数据量日益增长,高效的搜索功能成为Web应用程序不可或缺的部分。本项目"Search Lucene JavaEE WebApp Struts2 ...

    hibernate search

    2. **Hibernate 和 Lucene**:下载并准备好相关的库文件,包括但不限于 hibernate-search.jar、lucene-core.jar、hibernate-commons-annotations.jar 等。 3. **IDE**:选择一个合适的集成开发环境 (IDE) 进行开发...

    lucene jar包

    8. **扩展性**:Lucene作为一个基础库,可以与其他框架如Spring、Hibernate等无缝集成,也可以作为搜索引擎的基础组件,如Elasticsearch就是基于Lucene构建的。 9. **社区支持**:Lucene拥有活跃的开源社区,不断有...

    最新版windows lucene-8.6.0.zip

    4. 集成改进:与Spring、Hibernate等框架的集成更加顺畅,简化了开发流程。 5. 错误修复:修复了一些已知的bug,增强了系统的稳定性。 三、Windows环境下的安装与配置 在Windows环境下部署Lucene 8.6.0,首先需要...

    Hibernate Search In Action

    Hibernate Search库将全文搜索与Hibernate持久化框架紧密结合,为Java开发者提供了方便的方式来集成全文搜索功能,而无需深入学习底层搜索引擎的复杂性。 Hibernate Search的一个显著优势是它能够自动化管理索引与...

    Lucene与SSH2搜索功能

    "Lucene与SSH2搜索功能"的主题聚焦于如何在Java Web开发环境中利用Apache Lucene库来构建强大的搜索功能,并结合Struts2、Spring和Hibernate(简称SSH2)这三大框架进行整合。下面我们将深入探讨这些技术及其相互...

    java Lucene 工具类

    此外,博主可能还会介绍如何处理异常、性能调优技巧以及如何使用Lucene与其他Java库(如Spring、Hibernate等)集成。 总之,Java Lucene工具类是开发者实现全文搜索功能的强大助手,通过博主的示例,我们可以学习到...

    apache Lucene4.7最全最新的jar包

    在实际应用中,开发者通常会将Apache Lucene与诸如Spring、Hibernate等其他Java框架集成,以构建完整的搜索引擎解决方案。导入"Lucene.jar"到项目工程中,就可以利用这些功能来提升应用的搜索体验。 总的来说,...

Global site tag (gtag.js) - Google Analytics