Hibernate.orgCommunity Documentation

Hibernate Search

Apache Lucene™ Integration

Reference Guide

3.2.1.Final


Preface
1. Getting started
1.1. System Requirements
1.2. Using 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. Back end types
2.2.2. Work execution
2.3. Reader strategy
2.3.1. Shared
2.3.2. Not-shared
2.3.3. Custom
3. Configuration
3.1. Directory configuration
3.2. Sharding indexes
3.3. Sharing indexes (two entities into the same directory)
3.4. Worker configuration
3.5. JMS Master/Slave configuration
3.5.1. Slave nodes
3.5.2. Master node
3.6. JGroups Master/Slave configuration
3.6.1. Slave nodes
3.6.2. Master node
3.6.3. JGroups channel configuration
3.7. Reader strategy configuration
3.8. Enabling Hibernate Search and automatic indexing
3.8.1. Enabling Hibernate Search
3.8.2. Automatic indexing
3.9. Tuning Lucene indexing performance
3.10. LockFactory configuration
3.11. Exception Handling Configuration
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. Dynamic boost factor
4.1.6. Analyzer
4.2. Property/Field Bridge
4.2.1. Built-in bridges
4.2.2. Custom Bridge
4.3. Providing your own id
4.3.1. The ProvidedId annotation
4.4. Programmatic API
4.4.1. Mapping an entity as indexable
4.4.2. Adding DocumentId to indexed entity
4.4.3. Defining analyzers
4.4.4. Defining full text filter definitions
4.4.5. Defining fields for indexing
4.4.6. Programmatically defining embedded entities
4.4.7. Contained In definition
4.4.8. Date/Calendar Bridge
4.4.9. Defining bridges
4.4.10. Mapping class bridge
4.4.11. Mapping dynamic boost
5. Querying
5.1. Building queries
5.1.1. Building a Lucene query
5.1.2. Building a Hibernate Search query
5.2. Retrieving the results
5.2.1. Performance considerations
5.2.2. Result size
5.2.3. ResultTransformer
5.2.4. Understanding results
5.3. Filters
5.3.1. Using filters in a sharded environment
5.4. Optimizing the query process
5.5. Native Lucene Queries
6. Manual index changes
6.1. Adding instances to the Index
6.2. Deleting instances from the Index: Purging
6.3. Rebuilding the whole Index
6.3.1. Using flushToIndexes()
6.3.2. Using a MassIndexer
7. Index Optimization
7.1. Automatic optimization
7.2. Manual optimization
7.3. Adjusting optimization
8. Advanced features
8.1. SearchFactory
8.2. Accessing a Lucene Directory
8.3. Using an IndexReader
8.4. Customizing Lucene's scoring formula