Compass - Java Search Engine Framework

Reference Documentation

Shay Banon (kimchy)

Alan Hardy

0.8.1

Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically.

Table of Contents

Preface
I. Compass::Core
1. Inroduction
1.1. Overview
1.2. Template and Callback
2. Configuration
2.1. Introduction
2.2. Programmatic Configuration
2.3. XML Configuration
2.4. Obtaining a Compass reference
2.5. Compass Settings
2.5.1. compass.engine.connection
2.5.2. JNDI
2.5.3. Property
2.5.4. Transaction Level
2.5.5. Transaction Strategy
2.5.6. Search Engine
2.5.7. Search Engine Jdbc
2.5.7.1. Data Source Providers
2.5.7.2. File Entry Handlers
2.5.8. Search Engine Analyzers
2.5.9. Search Engine Analyzer Filters
2.5.10. Search Engine Highlighters
2.5.11. Other Settings
3. Search Engine
3.1. Introduction
3.2. Alias, Resource and Property
3.3. Creating Resource and Property
3.3.1. Boosting Resource and Property
3.4. Analyzers
3.5. Index Structure
3.6. Transaction
3.6.1. Locking
3.6.2. read_committed
3.6.3. serializable
3.6.4. batch_insert
3.7. Optimizers
3.7.1. Scheduled Optimizers
3.7.2. Aggressive Optimizer
3.7.3. Adaptive Optimizer
3.7.4. Null Optimizer
4. OSEM
4.1. Introduction
4.2. Searchable Classes
4.2.1. Implement a Default Constructor
4.2.2. Provide Property Identifier(s)
4.2.3. Declare Accessors and Mutators (Optional)
4.2.4. Implementing equals() and hashCode()
4.3. Mapping
4.3.1. compass-core-mapping
4.3.2. class
4.3.3. contract
4.3.4. id
4.3.5. property
4.3.6. analyzer
4.3.7. meta-data
4.3.8. component
4.3.9. reference
4.3.10. parent
4.3.11. constant
4.3.12. converter
5. Common Meta Data
5.1. Introduction
5.2. Commnon Meta Data Definition
5.3. Using the Definition
5.4. Commnon Meta Data Ant Task
6. Resource Mapping
6.1. Introduction
6.2. Mapping Declaration
6.2.1. resource
6.2.2. resource-id
6.2.3. resource-property
6.2.4. resource-analyzer
7. Transaction
7.1. Introduction
7.2. Session Lifecycle
7.3. Local Transaction
7.4. JTA Synchronization Transaction
8. Working with objects
8.1. Introduction
8.2. Making Object/Resource Searchable
8.3. Loading an Object/Resource
8.4. Deleting an Object/Resource
8.5. Searching
8.5.1. Query String Syntax
8.5.2. CompassHits, CompassDetachedHits & CompassHitsOperations
8.5.3. CompassQuery and CompassQueryBuilder
8.5.4. CompassHighlighter
II. Compass::Vocabulary
9. Introduction
10. Dublin Core
III. Compass::Gps
11. Introduction
11.1. Overview
11.2. CompassGps
11.2.1. SingleCompassGps
11.2.2. DualCompassGps
11.3. CompassGpsDevice
11.3.1. MirrorDataChangesGpsDevice
11.4. Programmatic Configuration
11.5. Building a Gps Device
12. JDBC
12.1. Introduction
12.2. Mapping
12.2.1. ResultSet Mapping
12.2.2. Table Mapping
12.3. Mapping - MirrorDataChanges
12.3.1. ResultSet Mapping
12.3.2. Table Mapping
12.3.3. Jdbc Snapshot
12.4. Resource Mapping
12.5. Putting it All Together
13. Hibernate
13.1. Introduction
13.2. Configuration
13.3. Index Operation
13.4. Real Time Data Mirroring
14. JDO (Java Data Objects)
14.1. Introduction
14.2. Configuration
14.3. Index Operation
14.4. Real Time Data Mirroring
15. OJB (Object Relational Broker)
15.1. Introduction
15.2. Index Operation
15.3. Real Time Data Mirroring
15.4. Configuration
16. iBatis
16.1. Introduction
16.2. Index Operation
16.3. Configuration
IV. Compass::Spring
17. Introduction
17.1. Overview
17.2. Compass Definition in Application Context
18. DAO Support
18.1. Dao and Template
19. Spring Transaction
19.1. Introduction
19.2. LocalTransaction
19.3. JTASyncTransaction
19.4. SpringSyncTransaction
19.5. CompassTransactionManager
20. Hibernate 3 Gps Device Support
20.1. Introduction
20.2. SpringHibernate3GpsDevice
21. OJB Gps Device Support
21.1. Introduction
21.2. SpringOjbGpsDevice
21.3. SpringOjbGpsDeviceInterceptor
22. Jdbc Gps Device Support
22.1. Introduction
22.2. ResultSet Mapping
22.3. Table Mapping
23. Spring AOP
23.1. Introduction
23.2. Advices
23.3. Dao Sample
23.4. Transactional Serivce Sample
24. Spring MVC Support
24.1. Introduction
24.2. Support Classes
24.3. Index Controller
24.4. Search Controller
V. Compass::Samples
25. Library Sample
25.1. Intoduction
25.2. Running The Sample
26. Petclinic Sample
26.1. Introduction
26.2. Running The Sample
26.3. Data Model In Petclinic
26.3.1. Common Meta-data (Optional)
26.3.2. Resource Mapping
26.3.3. OSEM
26.4. Data Access In Petclinic
26.4.1. Hibernate
26.4.2. Apache OJB
26.4.3. JDBC
26.5. Web (MVC) in Petclinic
VI. Appendixes
A. Lucene Jdbc Directory
A.1. Overview
A.2. Performance Notes
A.3. Transaction Management
A.3.1. Auto Commit Mode
A.3.2. DataSource Transaction Management
A.3.3. Using External Transaction Manager
A.3.4. DirectoryTemplate
A.4. File Entry Handler
A.4.1. IndexInput Types
A.4.2. IndexOutput Types