Book Image

Hibernate Search by Example

By : Steve Perkins
Book Image

Hibernate Search by Example

By: Steve Perkins

Overview of this book

<p>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? <br /><br />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.<br /><br />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.</p> <p>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.</p> <p>Hibernate Search by Example provides everything you need to know to incorporate search functionality into your own custom applications.</p>
Table of Contents (14 chapters)
Hibernate Search by Example
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Pagination


When a search query returns a huge number of search results, it is usually not desirable (or perhaps even possible) to present them to the user all at once. A common solution is pagination, or displaying search results one "page" at a time.

A Hibernate Search FullTextQuery object has methods for making pagination easy:

…
hibernateQuery.setFirstResult(10);
hibernateQuery.setMaxResults(5);
List<App> apps = hibernateQuery.list();
…

The setMaxResults method declares the maximum size of the page. On the last line of the preceding code snippet, the apps list will contain no more than five App objects, even if the query has thousands of matches.

Of course, pagination wouldn't be very useful if the code always grabbed the first five results. We also need the ability to grab the next page, and then the next page, and so on. So the setFirstResult method tells Hibernate Search where to start.

For example, the preceding code snippet starts with the eleventh result item (the parameter is...