Free Sample
+ Collection

Hibernate Search by Example

Steve Perkins

Explore the Hibernate Search system and use its extraordinary search features in your own applications
RRP $17.99
RRP $29.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781849519205
Paperback148 pages

About This Book

  • Add search capability to your custom applications
  • Integrate with the core Hibernate system, using traditional APIs or JPA
  • Write search queries in no time that may be simple or complex

Who This Book Is For

This book is for any Java developer who wants to quickly and easily add feature-rich search capabilities to his/her custom applications. It is assumed that readers will have experience in Java development, and understand some basic relational database concepts. However, while core Hibernate experience is very helpful, it is not necessarily required.

Table of Contents

Chapter 1: Your First Application
Creating an entity class
Preparing the entity for Hibernate Search
Loading the test data
Writing the search query code
Selecting a build system
Setting up the project and importing Hibernate Search
Running the application
Chapter 2: Mapping Entity Classes
Choosing an API for Hibernate ORM
Field mapping options
Relationships between entities
Partial indexing
The programmatic mapping API
Chapter 3: Performing Queries
Mapping API versus query API
Using JPA for queries
Setting up a project for Hibernate Search and JPA
The Hibernate Search DSL
Chapter 4: Advanced Mapping
Boosting search result relevance
Conditional indexing
Chapter 5: Advanced Querying
Faceted search
Query-time boosting
Placing time limits on a query
Chapter 6: System Configuration and Index Management
Automatic versus manual indexing
Defragmenting an index
Choosing an index manager
Configuring workers
Selecting and configuring a directory provider
Using the Luke utility
Chapter 7: Advanced Performance Strategies
General tips
Running applications in a cluster
Sharding Lucene indexes

What You Will Learn

  • Make core Hibernate entity classes searchable, no matter which mapping API they use
  • Write different kinds of search queries by keyword, exact phrase, “fuzzy” search, or searching within a range
  • Sort search results by various criteria
  • Use pagination to work with and display search results one chunk at a time
  • Define custom analyzers to help searches adjust for user typos and recognize related terms
  • Fine-tune the relevance of search results through boosting
  • Apply conditional indexing logic to exclude certain data from being searchable
  • Make Hibernate Search aware of relationships for searches involving data points spread out over multiple classes

In Detail

Users expect software to be highly intelligent when searching data. Searches should span across multiple data points at once, and be able to spot patterns and groupings in the results found. Searches should be able to fix user typos, and use terms related to the user’s search words. Searching is at its best when it pleasantly surprises us, seeming to understand the real gist of what we’re looking for better than we understood it ourselves! Where can we find such a search system and how can we use it efficiently?

Hibernate Search by Example is a practical, step-by-step tutorial, which guides you from the basics of Hibernate Search to its advanced features. The book builds toward a complete sample application, slowly fleshed out to demonstrate each and every concept being introduced in each chapter. By the end you will have a solid foundation for using Hibernate Search in real production applications.

This book starts with a simple example, and incrementally builds upon it to showcase each Hibernate Search feature introduced. By the end of the book you will have a working, functionality-rich application, and a deeper understanding than you might have had from looking at code snippets in a vacuum.

You will learn how to integrate search into core Hibernate applications, whether they are XML or annotation-based, or if you are using JPA. You will see how to fine-tune the relevance of search results, and design searches that can account for user typos or automatically reach for related terms. We will take advantage of performance optimization strategies, from running Hibernate Search in a cluster to reducing the need for database access at all.

Hibernate Search by Example provides everything you need to know to incorporate search functionality into your own custom applications.


Read More