Red Hat JBoss Web Framework Kit 2.7

Hibernate Search Guide

Apache Lucene Integration for use with Red Hat JBoss Enterprise Application Platform

Red Hat Customer Content Services

Abstract

This guide presents information about Hibernate Search shipped with Red Hat JBoss Web Framework Kit.
1. Hibernate Search Future Distribution
2. Introduction to Red Hat JBoss Web Framework Kit
2.1. About Red Hat JBoss Web Framework Kit
2.2. About the JBoss Web Framework Kit Tiers
2.3. About the JBoss Web Framework Kit Distribution
3. Getting Started with Hibernate Search
3.1. Getting Started
3.2. System Requirements
3.3. Using Maven
3.4. Configuration
3.5. Indexing
3.6. Searching
3.7. Analyzer
4. Architecture
4.1. Overview
4.2. Back End Setup and Operations
4.2.1. Back End
4.2.2. Lucene
4.2.3. JMS
4.3. Reader Strategies
4.3.1. The Shared Strategy
4.3.2. The Not-shared Strategy
4.3.3. Custom Reader Strategies
4.3.4. Reader Strategy Configuration
5. Configuration
5.1. Hibernate Search and Automatic Indexing
5.1.1. Enable and Disable Hibernate Search
5.1.2. Automatic Indexing
5.2. Configuring the IndexManager
5.2.1. Directory-based
5.2.2. Near Real Time
5.2.3. Custom
5.3. Directory Configuration
5.4. Worker Configuration
5.4.1. JMS Master/Slave Back End
5.4.2. Slave Nodes
5.4.3. Master Node
5.5. Tuning Lucene Indexing
5.5.1. Tuning Lucene Indexing Performance
5.5.2. The Lucene IndexWriter
5.5.3. Performance Option Configuration
5.5.4. Tuning the Indexing Speed
5.5.5. Control Segment Size
5.6. LockFactory Configuration
5.7. Exception Handling Configuration
5.8. Index Format Compatibility
5.9. Hibernate Search as Red Hat JBoss EAP Module
6. Mapping Entities to the Index Structure
6.1. Mapping an Entity
6.1.1. Basic Mapping
6.1.2. Mapping Properties Multiple Times
6.1.3. Embedded and Associated Objects
6.1.4. Limiting Object Embedding to Specific Paths
6.2. Boosting
6.2.1. Static Index Time Boosting
6.2.2. Dynamic Index Time Boosting
6.3. Analysis
6.3.1. Default Analyzer and Analyzer by Class
6.3.2. Named Analyzers
6.3.3. Available Analyzers
6.3.4. Dynamic Analyzer Selection
6.3.5. Retrieving an Analyzer
6.4. Bridges
6.4.1. Built-in Bridges
6.4.2. Custom Bridges
7. Querying
7.1. Building Queries
7.1.1. Building a Lucene Query Using the Lucene API
7.1.2. Building a Lucene Query
7.1.3. Keyword Queries
7.1.4. Fuzzy Queries
7.1.5. Wildcard Queries
7.1.6. Phrase Queries
7.1.7. Range Queries
7.1.8. Combining Queries
7.1.9. Query Options
7.1.10. Build a Hibernate Search Query
7.2. Retrieving the Results
7.2.1. Performance Considerations
7.2.2. Result Size
7.2.3. ResultTransformer
7.2.4. Understanding Results
7.3. Filters
7.3.1. Using Filters in a Sharded Environment
7.4. Faceting
7.4.1. Creating a Faceting Request
7.4.2. Applying a Faceting Request
7.4.3. Restricting Query Results
7.5. Optimizing the Query Process
7.5.1. Caching Index Values: FieldCache
8. Manual Index Changes
8.1. Adding Instances to the Index
8.2. Deleting Instances from the Index
8.3. Rebuilding the Index
8.3.1. Using flushToIndexes()
8.3.2. Using a MassIndexer
9. Index Optimization
9.1. Automatic Optimization
9.2. Manual Optimization
9.3. Adjusting Optimization
10. Monitoring
10.1. JMX
10.1.1. About JMX
10.1.2. StatisticsInfoMBean
10.1.3. IndexControlMBean
10.1.4. IndexingProgressMonitorMBean
11. Advanced Features
11.1. Accessing the SearchFactory
11.2. Using an IndexReader
11.3. Accessing a Lucene Directory
11.4. Sharding Indexes
11.5. Sharing Indexes
11.6. About Using External Services
11.6.1. Exposing a Service
11.6.2. Using a Service
11.7. Customizing Lucene's Scoring Formula
A. Revision History