DLESE Tools
v1.6.0

org.dlese.dpc.index.writer
Interface FileIndexingPlugin

All Known Implementing Classes:
DcsDataFileIndexingPlugin, DDSItemMetaMetadataIndexingPlugin, ServletContextFileIndexingPlugin, SessionIndexingPlugin, SimpleFileIndexingPlugin

public interface FileIndexingPlugin

This Interface provides a mechanism for adding custom fields to Lucene index Documents that are being created for a given file. Fields created using this Interface should use a unigue field name namespace prefix to avoid field name conflicts. For information about adding fields, see the Lucene Document javadoc.

To configure one or more Lucene Analyzers to use on a per-field basis for your plugins, provide a properties file within your application's class path named 'FileIndexingPluginLuceneAnalyzers.properties' (used in the DDS, NCS, and DCS Web applications). See PerFieldAnalyzer for details.

Example usage:

private static final String FIELD_NS = "MyMetaMetadata";

public void addFields(File file, Document newDoc, Document existingDoc)
   throws Exception{

... code to set up data as needed ...
String recordStatus = myData.getRecordStatus();
newDoc.add(new Field(FIELD_NS + "recordStatus", recordStatus, Field.Store.YES, Field.Index.NOT_ANALYZED));
... add additional fields as needed ...
}

Author:
John Weatherley
See Also:
FileIndexingServiceWriter

Method Summary
 void addFields(File file, org.apache.lucene.document.Document newDoc, org.apache.lucene.document.Document existingDoc, String docType, String docGroup)
          This method may be used to add custom fields to a Lucene Document for a given file prior to it's being inserted into the index.
 

Method Detail

addFields

void addFields(File file,
               org.apache.lucene.document.Document newDoc,
               org.apache.lucene.document.Document existingDoc,
               String docType,
               String docGroup)
               throws Exception
This method may be used to add custom fields to a Lucene Document for a given file prior to it's being inserted into the index. This method is called by the FileIndexingServiceWriter after it has completed adding it's fields to the Lucene Document.

Parameters:
file - The file that is being indexed
newDoc - The new Lucene Document that will be inserted in the index for this file
existingDoc - The previous Lucene Document that existed for this record, or null if not available
docType - The docType for this file, for example 'adn', 'dlese_collect' (equivalent to XML format in the DLESE metadata repository)
docGroup - The docGroup associated with this file, for example 'dcc', 'comet', or null if none is associated (equivalent to the collection key in the DLESE metadata repository)
Throws:
Exception - Exception should be thrown to index this Document as an error
See Also:
Document

DLESE Tools
v1.6.0