Preparing and executing a query consists
of four simple steps:
• Creating a FullTextSession
• Creating a Lucene query
• Wrapping the Lucene query using a org.hibernate.Query
• Executing the search by calling for example list() or scroll()
To access the querying facilities, you have to use an FullTextSession. This Search specific
session wraps a regular org.hibernate.Session to provide query and indexing capabilities.
Creating a FullTextSession
Session session = sessionFactory.openSession();
...
FullTextSession fullTextSession = Search.getFullTextSession(session);
Creating a Lucene query
org.apache.lucene.queryParser.QueryParser parser =
new QueryParser("title", new StopAnalyzer() );
org.apache.lucene.search.Query luceneQuery = parser.parse( "summary:Festina Or
brand:Seiko" );
org.hibernate.Query fullTextQuery =
fullTextSession.createFullTextQuery( luceneQuery );
List result = fullTextQuery.list(); //return a list of managed objects
Defining pagination for a search query
org.hibernate.Query fullTextQuery =
fullTextSession.createFullTextQuery( luceneQuery, Customer.class );
fullTextQuery.setFirstResult(15); //start from the 15th element
fullTextQuery.setMaxResults(10); //return 10 elements
Specifying a Lucene Sort in order to sort the results
org.hibernate.search.FullTextQuery query = s.createFullTextQuery( query,
Book.class );
org.apache.lucene.search.Sort sort = new Sort(new SortField("title"));
query.setSort(sort);
List results = query.list();
分享到:
相关推荐
Hibernate Search库将全文搜索与Hibernate持久化框架紧密结合,为Java开发者提供了方便的方式来集成全文搜索功能,而无需深入学习底层搜索引擎的复杂性。 Hibernate Search的一个显著优势是它能够自动化管理索引与...
读者将学习如何配置Hibernate Search,以及如何将它与现有的Hibernate实体映射。接下来,书中会讲解如何定义和使用分析器,这是处理文本数据并准备进行全文搜索的关键步骤。分析器的选择和定制对于搜索性能和结果的...
**Hibernate Search配置及简单应用** Hibernate Search是Hibernate框架的一个扩展,它允许我们在应用程序中实现全文检索功能,使得数据库中的数据可以被快速、高效地搜索。这个功能尤其在处理大量文本数据时非常...
《Hibernate Search in Action》是一本深入探讨Hibernate Search技术的专业书籍,配合源代码一同学习,能够帮助读者更好地理解和应用这项强大的全文检索和分析框架。Hibernate Search是Hibernate ORM的一个扩展,它...
1. **全文索引**:Hibernate Search能够自动为实体类的字段建立全文索引,允许用户通过自然语言查询来查找匹配的数据。这不仅提高了用户体验,还使得搜索结果更为精准。 2. **实时索引**:当数据库中的数据发生变化...
1. **Hibernate ORM**:Hibernate是一个流行的Java对象关系映射(ORM)框架,它允许开发者用面向对象的方式来操作数据库,而无需关注底层的SQL语句。 2. **Apache Lucene**:Lucene是一个高性能、全功能的文本搜索...
标题与描述:“Getting Started with Hibernate Search” 在深入探讨前,我们先来理解“Hibernate Search”这一概念。...无论是初学者还是有经验的开发者,都可以从学习和应用Hibernate Search中获益匪浅。
### 使用Hibernate Search入门详解 #### 引言 Hibernate Search作为Hibernate Core的...无论是初学者还是有经验的开发者,都可以通过学习和实践,充分发挥Hibernate Search的优势,提升数据检索的效率和用户体验。
本篇文章将深入探讨Hibernate Search的源码,帮助你理解其工作原理,并提供研究和学习的指导。 **1. 概述** Hibernate Search的核心功能是通过Apache Lucene库实现的全文检索。它允许开发者对持久化的实体对象进行...
1. **Hibernate Search简介**:Hibernate Search基于Apache Lucene库,为Java对象提供了一个强大的搜索引擎。它能够对数据库中的数据进行全文索引,并支持复杂的查询表达式,提供类似Google的搜索体验。 2. **集成...
1. **Hibernate Search概述**:Hibernate Search是Hibernate ORM的一个扩展,它将Apache Lucene集成到Java应用中,提供对象-关系映射(ORM)支持,使得在数据库中进行全文搜索变得简单。它支持索引实时更新,可以在...
1. **全文检索**:通过使用Apache Lucene库,Hibernate Search能对数据库中的文本字段建立索引,支持模糊匹配、短语查询、词语权重调整等多种全文搜索功能。 2. **多语言支持**:支持多种语言的分词和排序,包括...
1. **Hibernate Search简介** Hibernate Search是基于Lucene库的,它将搜索引擎的功能无缝集成到Hibernate ORM框架中,允许开发者通过简单的API在数据库中进行全文搜索。这个版本不仅包含了对Java Persistence API...
【深入学习Hibernate】这篇文章主要介绍了Hibernate这一流行的Java ORM框架,旨在帮助初学者更好地理解和应用Hibernate。Hibernate是一个开源的持久层框架,它简化了Java应用程序与关系数据库之间的交互,实现了对象...
标题中的“hibernate-search-orm-5.0.0.Alpha1.zip”指的是Hibernate Search ORM的一个早期版本,它是Hibernate框架的一个扩展,提供了在数据库中进行全文搜索和索引的功能。Hibernate是一个广泛使用的Java对象关系...
Apache Shiro + SpringMVC + Hibernate Search + Hibernate + Bootstrap企业信息管理系统基础框架搭建整合实例代码教程,这是一个典型的Java Web开发中的技术栈组合,用于构建高效、安全的企业级信息系统。...
通过本参考指南的学习,开发者能够了解到如何在 JBoss Enterprise Application Platform 4.3 中集成和使用 Hibernate Search,从而为基于 Hibernate 的应用程序添加强大的全文搜索功能。从环境搭建、配置管理到具体...
### Hibernate Search 参考指南知识点概述 #### 一、引言 `hibernate_search_reference.pdf` 是关于 Hibernate Search 的一份详尽参考文档,版本号为 3.2.1.Final。该文档覆盖了 Hibernate Search 的核心概念、配置...
1. **无缝集成**:Hibernate Search与Hibernate ORM无缝结合,使得数据库对象可以直接映射到Lucene索引,简化了开发流程。 2. **索引自动更新**:当数据库中的数据发生变化时,Hibernate Search会自动更新对应的...
hibernate search 和lucene结合使用实例