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:
  • Method Summary

    Modifier and Type
    Method
    Description
    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 Details

    • 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