The lucene Module
Introduction
The lucene module integrates the Lucene search engine.
Configuration
Each publication has a configuration at $PUB_HOME/config/search/lucene_index.xml
which is being defined by
org.pache.cocoon.components.search.components.impl.IndexManagerImpl.
Indexing
Indexing is typically triggered by the org.apache.lenya.cms.lucene.IndexUpdaterImpl,
which attaches itself as a listener to the repository on startup.
Indexing can also be executed explicitely by calling the lucene.index
usecase which is defined
by config/cocoon-xconf/usecase-lucene.index.xconf and uses as main
entry point org.apache.lenya.cms.lucene.IndexDocument.
In order to make a resource type indexable one needs to add the format luceneIndex to the
resource type configuration (e.g. src/modules/xhtml/config/cocoon-xconf/resource-type-xhtml.xconf)
One needs to create or reuse a pipeline for this format within the specified sitemap.
Indexing Issues
When the system is under high load, it can occur that a document is not indexed after a change
because the indexer is busy. In this case, a notification message is sent to a user which can
be configured in modules/lucene/sitemap.xmap:
<map:transformer name="index2"
logger="sitemap.transformer.luceneindextransformer2"
src="org.apache.cocoon.transformation.LuceneIndexTransformer2">
<notify user="lenya"/>
</map:transformer>
Searching
To be documented.
