Hibernate Search

Apache Lucene™ Integration

Reference Guide

3.0.1.GA


Table of Contents

Preface
1. Getting started
1.1. System Requirements
1.2. Maven
1.3. Configuration
1.4. Indexing
1.5. Searching
1.6. Analyzer
1.7. What's next
2. Architecture
2.1. Overview
2.2. Back end
2.2.1. Lucene
2.2.2. JMS
2.3. Work execution
2.3.1. Synchronous
2.3.2. Asynchronous
2.4. Reader strategy
2.4.1. Shared
2.4.2. Not-shared
2.4.3. Custom
3. Configuration
3.1. Directory configuration
3.2. Index sharding
3.3. Worker configuration
3.4. JMS Master/Slave configuration
3.4.1. Slave nodes
3.4.2. Master node
3.5. Reader strategy configuration
3.6. Enabling Hibernate Search and automatic indexing
3.6.1. Enabling Hibernate Search
3.6.1.1. Hibernate Core 3.2.6 and beyond
3.6.2. Automatic indexing
3.7. Tuning Lucene indexing performance
4. Mapping entities to the index structure
4.1. Mapping an entity
4.1.1. Basic mapping
4.1.2. Mapping properties multiple times
4.1.3. Embedded and associated objects
4.1.4. Boost factor
4.1.5. Analyzer
4.2. Property/Field Bridge
4.2.1. Built-in bridges
4.2.2. Custom Bridge
4.2.2.1. StringBridge
4.2.2.2. FieldBridge
4.2.2.3. @ClassBridge
5. Querying
5.1. Building queries
5.1.1. Building a Lucene query
5.1.2. Building a Hibernate Search query
5.1.2.1. Generality
5.1.2.2. Pagination
5.1.2.3. Sorting
5.1.2.4. Fetching strategy
5.1.2.5. Projection
5.2. Retrieving the results
5.2.1. Performance considerations
5.2.2. Result size
5.2.3. ResultTransformer
5.3. Filters
5.4. Optimizing the query process
5.5. Native Lucene Queries
6. Manual indexing
6.1. Indexing
6.2. Purging
7. Index Optimization
7.1. Automatic optimization
7.2. Manual optimization
7.3. Adjusting optimization
8. Accessing Lucene natively
8.1. SearchFactory
8.2. Accessing a Lucene Directory
8.3. Using an IndexReader