Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## fr.gouv.culture.sdx.search.lucene.query
Class LuceneIndex

    java.lang.Object
      fr.gouv.culture.sdx.utils.AbstractSdxObject
          fr.gouv.culture.sdx.utils.lucene.LuceneDataStore
              fr.gouv.culture.sdx.search.lucene.query.LuceneIndex

All Implemented Interfaces:
  org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.context.Contextualizable, Describable, Encodable, Identifiable, Index, Index, Localizable, org.apache.avalon.framework.logger.LogEnabled, java.rmi.Remote, Saveable, SdxObject, org.apache.avalon.framework.service.Serviceable, org.apache.excalibur.xml.sax.XMLizable

public class LuceneIndex
extends LuceneDataStore
implements SdxObject, Index

Information and services related to a LuceneIndex.

From here we can get an IndexReader, a Searcher, and know a little more about defined fields.

Nested Class Summary

Nested classes inherited from class fr.gouv.culture.sdx.utils.SdxObject
`SdxObject.ConfigurationNode`

Field Summary
`static int` | `ACTION_ADD_DOCUMENT` int representation of indexing action for adding a document.
`protected java.util.Date` | `creationTimestamp` The creation date of this index
`java.lang.String` | `CURRENT_INDEX_DIR` The current directory name
`static int` | `DEFAULT_MAX_FIELD_LENGTH` Defaults for IndexWriter parameters; these are based on lucene defaults
`static int` | `DEFAULT_MAX_MERGE_DOCS` Defaults for IndexWriter parameters; these are based on lucene defaults
`static int` | `DEFAULT_MERGE_FACTOR` Defaults for IndexWriter parameters; these are based on lucene defaults
`protected java.util.Date` | `lastModificationTimestamp` The last modification date of this index

Fields inherited from class fr.gouv.culture.sdx.utils.lucene.LuceneDataStore
`ALL_FIELD, ALL_VALUE, analyzer, fsd, fsdFile, ID_FIELD, LUCENE_CHECK_FILE, searcher, useCompoundFiles, XML_LANG_FIELD`

Fields inherited from class fr.gouv.culture.sdx.utils.AbstractSdxObject
`_configuration, _context, _description, _encoding, _id, _locale, _logger, _manager, _xmlizable_objects, _xmlLang, isToSaxInitialized`

Fields inherited from interface fr.gouv.culture.sdx.utils.Encodable
`DEFAULT_ENCODING`

Fields inherited from interface fr.gouv.culture.sdx.search.lucene.query.Index
`CLASS_NAME_SUFFIX`

Fields inherited from interface fr.gouv.culture.sdx.utils.save.Saveable
`ALL_SAVE_ATTRIB, PATH_ATTRIB, SAVE_DIRECTORY_PARAM`

Constructor Summary
`LuceneIndex(java.io.File dir, java.lang.String host, java.lang.Integer port, java.lang.String appId, java.lang.String dbId)` Builds an index with fields definition and a path to the index files.
`LuceneIndex(java.io.File dir, java.lang.String host, java.lang.Integer port, java.lang.String appId, java.lang.String dbId, boolean useCompoundFiles)`
`LuceneIndex(LuceneIndex parentIndex)` Sub index constructor
`LuceneIndex(LuceneIndex parentIndex, java.io.File dir)` Sub index constructor

Method Summary
`void` | `backup(SaveParameters save_config)` Save LuceneIndex files
`void` | `configure(org.apache.avalon.framework.configuration.Configuration configuration)`
`void` | `deleteDocument(java.lang.String docId)` Deletes a document from the index.
`int` | `docCount()`
`void` | `freeResources()` Free's the resources associated with this index USE WITH CARE!
`protected java.lang.String` | `getClassNameSuffix()` Sub classes should element this method to return their class name suffix for SAX output
`java.util.Date` | `getCreationDate()`
`Field` | `getDefaultField()` Returns the default field for this index.
`Field` | `getField(java.lang.String name)` Returns a field given a name.
`int` | `getFieldType(java.lang.String name)` Returns the type of a field.
`java.lang.String` | `getFieldValue(IndexableDocument doc, java.lang.String fieldName)`
`java.util.Date` | `getLastModificationDate()`
`java.util.Locale` | `getLocale(java.lang.String name)` Returns the locale for a field.
`MetaAnalyzer` | `getMetaAnalyzer()` Gets the MetaAnalyzer
`QueryParser` | `getQueryParser()`
`org.apache.lucene.index.IndexReader` | `getReader()` Returns an index reader for the current FSDirectory.
`java.lang.String` | `getRemoteIndexName()`
`org.apache.lucene.search.Searchable` | `getSearcher()` Gets a searcher.
`protected org.apache.lucene.index.IndexWriter` | `getWriter(org.apache.lucene.store.Directory directory)` Get's an IndexWriter based upon the analyzer class field and the provided Lucene Directory
`void` | `indexModified(boolean createLastModficationTimestampFile)`
`void` | `init()` Initializes the Lucene database.
`boolean` | `isSubIndex()` Tell if the index is a subIndex or not
`void` | `mergeCurrentBatch(boolean optimize)` Merges any batch in memory and optimize it if necessary
`void` | `optimize()` Index file optimization
`void` | `recycleIndexReader()`
`void` | `recycleLuceneIndexSearcher()`
`void` | `restore(SaveParameters save_config)` Restore LuceneIndex files
`protected void` | `setDocCount(int i)`
`void` | `setMetaAnalyzer(MetaAnalyzer mAnalyzer)` Sets the MetaAnalyzer
`void` | `setParameters(LuceneIndexParameters params)` Sets the indexing parameters
`void` | `toSAX(org.xml.sax.ContentHandler hdl)`
`protected void` | `writeCreationTimestampFile()`
`void` | `writeDocument(org.apache.lucene.document.Document ldoc, boolean batchIndex)` Stores a Lucene document within the database.
`void` | `writeDocument(org.apache.lucene.document.Document ldoc, boolean batchIndex, boolean autoOptimize)` Stores a Lucene document within the database.
`void` | `writeLastModificationTimestampFile(boolean create)`

Methods inherited from class fr.gouv.culture.sdx.utils.lucene.LuceneDataStore
`delete, delete, delete, delete, finalize, getFSDirectory, getFSDirectory, getIndexPath, getWriter, init, initToSax, initVolatileObjectsToSax, isUsingCompoundFiles, recycleSearcher, search, search, size, verifyIndex, write, writeLuceneData`

Methods inherited from class fr.gouv.culture.sdx.utils.AbstractSdxObject
`configureDescription, contextualize, enableLogging, getBaseAttributes, getConfiguration, getContext, getDescription, getEncoding, getId, getLocale, getLog, getServiceManager, getXmlLang, service, setDescription, setEncoding, setId, setLocale, setUpSdxObject, setUpSdxObject, setXmlLang, verifyConfigurationResources`

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface fr.gouv.culture.sdx.utils.SdxObject
`getLog`

Methods inherited from interface org.apache.avalon.framework.logger.LogEnabled
`enableLogging`

Methods inherited from interface org.apache.avalon.framework.context.Contextualizable
`contextualize`

Methods inherited from interface org.apache.avalon.framework.service.Serviceable
`service`

Methods inherited from interface fr.gouv.culture.sdx.utils.Identifiable
`getId, setId`

Methods inherited from interface fr.gouv.culture.sdx.utils.Describable
`getDescription, setDescription`

Methods inherited from interface fr.gouv.culture.sdx.utils.Encodable
`getEncoding, setEncoding`

Methods inherited from interface fr.gouv.culture.sdx.utils.Localizable
`getLocale, getXmlLang, setLocale, setXmlLang`

Field Detail

### CURRENT_INDEX_DIR

    public java.lang.String CURRENT_INDEX_DIR

  The current directory name

### creationTimestamp

    protected java.util.Date creationTimestamp

  The creation date of this index

### lastModificationTimestamp

    protected java.util.Date lastModificationTimestamp

  The last modification date of this index

### ACTION_ADD_DOCUMENT

    public static final int ACTION_ADD_DOCUMENT

  int representation of indexing action for adding a document.

  See Also:
    Constant Field Values

### DEFAULT_MAX_FIELD_LENGTH

    public static final int DEFAULT_MAX_FIELD_LENGTH

  Defaults for IndexWriter parameters; these are based on lucene defaults

  See Also:
    Constant Field Values

### DEFAULT_MAX_MERGE_DOCS

    public static final int DEFAULT_MAX_MERGE_DOCS

  Defaults for IndexWriter parameters; these are based on lucene defaults

  See Also:
    Constant Field Values

### DEFAULT_MERGE_FACTOR

    public static final int DEFAULT_MERGE_FACTOR

  Defaults for IndexWriter parameters; these are based on lucene defaults

  See Also:
    Constant Field Values

Constructor Detail

### LuceneIndex

    public LuceneIndex(java.io.File dir,
                       java.lang.String host,
                       java.lang.Integer port,
                       java.lang.String appId,
                       java.lang.String dbId)
                throws SDXException

  Builds an index with fields definition and a path to the index files.

Parameters:
  `dir` - A directory where the index is kept. TODOJavadoc

### LuceneIndex

    public LuceneIndex(java.io.File dir,
                       java.lang.String host,
                       java.lang.Integer port,
                       java.lang.String appId,
                       java.lang.String dbId,
                       boolean useCompoundFiles)
                throws SDXException

### LuceneIndex

    public LuceneIndex(LuceneIndex parentIndex,
                       java.io.File dir)

  Sub index constructor

### LuceneIndex

    public LuceneIndex(LuceneIndex parentIndex)

  Sub index constructor

Method Detail

### configure

    public void configure(org.apache.avalon.framework.configuration.Configuration configuration)
                   throws org.apache.avalon.framework.configuration.ConfigurationException

  Specified by:
    `configure` in interface `org.apache.avalon.framework.configuration.Configurable`
  Overrides:
    `configure` in class `AbstractSdxObject`
  Throws:
    `org.apache.avalon.framework.configuration.ConfigurationException`

### init

    public void init()
              throws SDXException

  Initializes the Lucene database.

  It the index exists, nothing is done here. If it is doesn't exist, it will be created.

  Throws:
    `SDXException`

### writeCreationTimestampFile

    protected void writeCreationTimestampFile()

### indexModified

    public void indexModified(boolean createLastModficationTimestampFile)
                       throws SDXException

  Throws:
    `SDXException`

### setDocCount

    protected void setDocCount(int i)

### docCount

    public int docCount()

### writeLastModificationTimestampFile

    public void writeLastModificationTimestampFile(boolean create)

### getFieldType

    public int getFieldType(java.lang.String name)

  Returns the type of a field.

  Parameters:
    `name` - The name of the field for which the type is desired.
  Returns:
    The int field code (see Field doc)

### getLocale

    public java.util.Locale getLocale(java.lang.String name)

  Returns the locale for a field.

  Parameters:
    `name` - The name of the field for which the Locale is desired.

### getDefaultField

    public Field getDefaultField()

  Returns the default field for this index.

  Specified by:
    `getDefaultField` in interface `Index`

### getField

    public Field getField(java.lang.String name)

  Returns a field given a name.

  Specified by:
    `getField` in interface `Index`
  Parameters:
    `name` - The name of the field for which the Field is desired.

### getMetaAnalyzer

    public MetaAnalyzer getMetaAnalyzer()

  Gets the MetaAnalyzer

### setMetaAnalyzer

    public void setMetaAnalyzer(MetaAnalyzer mAnalyzer)
                         throws SDXException

  Sets the MetaAnalyzer

  Parameters:
    `mAnalyzer` - A MetaAnalyzer object containing a FieldList object for this index.
  Throws:
    `SDXException`

### writeDocument

    public void writeDocument(org.apache.lucene.document.Document ldoc,
                              boolean batchIndex)
                       throws SDXException

  Stores a Lucene document within the database.

  Parameters:
    `ldoc` - The Lucene document to store.
    `batchIndex` - Indicates wheter a tempBatch index is taking place or not. Useful for efficiency of index optimizations
  Throws:
    `SDXException`

### writeDocument

    public void writeDocument(org.apache.lucene.document.Document ldoc,
                              boolean batchIndex,
                              boolean autoOptimize)
                       throws SDXException

  Stores a Lucene document within the database.

  Parameters:
    `ldoc` - The Lucene document to store.
    `batchIndex` - Indicates wheter a tempBatch index is taking place or not. Useful for efficiency of index optimizations
    `autoOptimize` - Is the DocumentBase autoOptimize ?
  Throws:
    `SDXException`

### recycleLuceneIndexSearcher

    public void recycleLuceneIndexSearcher()
                                    throws SDXException

  Throws:
    `SDXException`

### recycleIndexReader

    public void recycleIndexReader()
                            throws SDXException

  Throws:
    `SDXException`

### deleteDocument

    public void deleteDocument(java.lang.String docId)
                        throws SDXException

  Deletes a document from the index.

  Parameters:
    `docId` - The document's id.
  Throws:
    `SDXException`

### getQueryParser

    public QueryParser getQueryParser()
                               throws java.io.IOException,
                                      SDXException

  Specified by:
    `getQueryParser` in interface `Index`
  Throws:
    `java.io.IOException`
    `SDXException`

### getRemoteIndexName

    public java.lang.String getRemoteIndexName()

### freeResources

    public void freeResources()
                       throws java.io.IOException

  Free's the resources associated with this index USE WITH CARE!

  Overrides:
    `freeResources` in class `LuceneDataStore`
  Throws:
    `java.io.IOException` - Lucene IOExceptions

### setParameters

    public void setParameters(LuceneIndexParameters params)

  Sets the indexing parameters

  Parameters:
    `params` - The relevant parameters for this lucene index.

### getReader

    public org.apache.lucene.index.IndexReader getReader()
                                                  throws SDXException

  Description copied from class: `LuceneDataStore`
  Returns an index reader for the current FSDirectory.

  Overrides:
    `getReader` in class `LuceneDataStore`
  Throws:
    `SDXException`

### getWriter

    protected org.apache.lucene.index.IndexWriter getWriter(org.apache.lucene.store.Directory directory)
                                                     throws java.io.IOException

  Description copied from class: `LuceneDataStore`
  Get's an IndexWriter based upon the analyzer class field and the provided Lucene Directory

  Overrides:
    `getWriter` in class `LuceneDataStore`
  Parameters:
    `directory` - The lucene directory for which the writer is desired
  Returns:
    IndexWriter
  Throws:
    `java.io.IOException`

### getSearcher

    public org.apache.lucene.search.Searchable getSearcher()

  Gets a searcher.

  Specified by:
    `getSearcher` in interface `Index`
  Overrides:
    `getSearcher` in class `LuceneDataStore`
  Returns:
    A lucene Searcher.

### getFieldValue

    public java.lang.String getFieldValue(IndexableDocument doc,
                                          java.lang.String fieldName)
                                   throws SDXException

  Throws:
    `SDXException`

### getCreationDate

    public java.util.Date getCreationDate()

### getLastModificationDate

    public java.util.Date getLastModificationDate()

### toSAX

    public void toSAX(org.xml.sax.ContentHandler hdl)
               throws org.xml.sax.SAXException

  Specified by:
    `toSAX` in interface `org.apache.excalibur.xml.sax.XMLizable`
  Overrides:
    `toSAX` in class `AbstractSdxObject`
  Throws:
    `org.xml.sax.SAXException`

### getClassNameSuffix

    protected java.lang.String getClassNameSuffix()

  Description copied from class: `AbstractSdxObject`
  Sub classes should element this method to return their class name suffix for SAX output

  Specified by:
    `getClassNameSuffix` in class `AbstractSdxObject`

### optimize

    public void optimize()
                  throws SDXException

  Index file optimization

  Overrides:
    `optimize` in class `LuceneDataStore`
  Throws:
    `SDXException`

### mergeCurrentBatch

    public void mergeCurrentBatch(boolean optimize)
                           throws SDXException

  Merges any batch in memory and optimize it if necessary

  Throws:
    `SDXException`

### isSubIndex

    public boolean isSubIndex()

  Tell if the index is a subIndex or not

### backup

    public void backup(SaveParameters save_config)
                throws SDXException

  Save LuceneIndex files

  Specified by:
    `backup` in interface `Saveable`
  Overrides:
    `backup` in class `LuceneDataStore`
  Throws:
    `SDXException`
  See Also:
    `Saveable.backup(fr.gouv.culture.sdx.utils.save.SaveParameters)`

### restore

    public void restore(SaveParameters save_config)
                 throws SDXException

  Restore LuceneIndex files

  Specified by:
    `restore` in interface `Saveable`
  Overrides:
    `restore` in class `LuceneDataStore`
  Throws:
    `SDXException`
  See Also:
    `Saveable.restore(fr.gouv.culture.sdx.utils.save.SaveParameters)`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2003 Ministere de la culture et de la communication / AJLSM. All Rights Reserved.