|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectfr.gouv.culture.sdx.utils.AbstractSdxObject
fr.gouv.culture.sdx.utils.lucene.LuceneDataStore
fr.gouv.culture.sdx.search.lucene.query.LuceneIndex
public class LuceneIndex
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/interfaces inherited from interface 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.io.File |
lastModFile
The "last-modification-timestamp" file |
protected long |
lastModificationTimestamp
The last modification timestamp of this index |
| Fields inherited from class fr.gouv.culture.sdx.utils.lucene.LuceneDataStore |
|---|
ALL_FIELD, ALL_VALUE, analyzer, fsd, fsdFile, ID_FIELD, 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, CREATION_TIMESTAMP_FILENAME, LAST_MODIFICATION_DATE_FILENAME |
| 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()
Returns the creation date of this Lucene index. |
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)
Gets the value of a field. |
java.util.Date |
getLastModificationDate()
Returns the last modification date Returns the the last modification timestamp of this Lucene index as a Date. |
long |
getLastModificationTimestamp()
Returns the last modification timestamp |
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()
Gets a Lucene reader Ensures we have a correct Lucene reader for this index. |
org.apache.lucene.index.IndexReader |
getReader(boolean automaticRecycle)
|
java.lang.String |
getRemoteIndexName()
|
org.apache.lucene.search.Searchable |
getSearcher()
Gets a Lucene searcher Ensures we have a correct Lucene searcher for this index. |
org.apache.lucene.search.Searchable |
getSearcher(boolean automaticRecycle)
|
protected org.apache.lucene.index.IndexWriter |
getWriter(org.apache.lucene.store.Directory directory)
Gets a writer for the Lucene index |
protected org.apache.lucene.index.IndexWriter |
getWriter(org.apache.lucene.store.Directory directory,
boolean create)
|
boolean |
hasBeenModified()
Has Lucene index been modified Returns true if this Lucene index has been modified since the last modification timestamp. |
void |
indexModified()
|
void |
indexModified(boolean createLastModficationTimestampFile)
Deprecated. Use indexModified() instead. |
void |
init()
Initializes the Lucene database. |
boolean |
isSubIndex()
Tell if the index is a subIndex or not |
void |
mergeCurrentBatch()
Merges any batch in memory |
void |
mergeCurrentBatch(boolean optimize)
Merges any batch in memory and optimize it if necessary |
void |
optimize()
Index file optimization |
void |
recycleIndexReader()
Recycles the Lucene reader for this index |
void |
recycleLuceneIndexSearcher()
Recycles the Lucene searcher for this index |
void |
recycleSearcherReader()
Recycles Lucene Searcher and Reader |
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()
Creates the file that represents the creation timestamp of this Lucene index if relevant |
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()
Updates the date of the last modification timestamp of this Lucene index Updates the date of the last modification timestamp of this Lucene index. |
void |
writeLastModificationTimestampFile(boolean create)
Deprecated. Use writeCreationTimestampFile() instead. |
| Methods inherited from class fr.gouv.culture.sdx.utils.lucene.LuceneDataStore |
|---|
delete, delete, delete, delete, finalize, getFSDirectory, getFSDirectory, getIndexPath, getWriter, 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 |
|---|
public java.lang.String CURRENT_INDEX_DIR
protected java.util.Date creationTimestamp
protected long lastModificationTimestamp
protected java.io.File lastModFile
public static final int ACTION_ADD_DOCUMENT
public static final int DEFAULT_MAX_FIELD_LENGTH
public static final int DEFAULT_MAX_MERGE_DOCS
public static final int DEFAULT_MERGE_FACTOR
| Constructor Detail |
|---|
public LuceneIndex(java.io.File dir,
java.lang.String host,
java.lang.Integer port,
java.lang.String appId,
java.lang.String dbId)
throws SDXException
dir - A directory where the index is kept.host - port - appId - dbId -
SDXException
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
dir - host - port - appId - dbId - useCompoundFiles -
SDXException
public LuceneIndex(LuceneIndex parentIndex,
java.io.File dir)
parentIndex - dir - public LuceneIndex(LuceneIndex parentIndex)
parentIndex - | Method Detail |
|---|
public void configure(org.apache.avalon.framework.configuration.Configuration configuration)
throws org.apache.avalon.framework.configuration.ConfigurationException
configure in interface org.apache.avalon.framework.configuration.Configurableconfigure in class AbstractSdxObjectorg.apache.avalon.framework.configuration.ConfigurationException
public void init()
throws SDXException
It the index exists, nothing is done here. If it is doesn't exist, it will be created.
SDXExceptionprotected void writeCreationTimestampFile()
public void indexModified()
throws SDXException
SDXException
public void indexModified(boolean createLastModficationTimestampFile)
throws SDXException
indexModified() instead.
SDXExceptionprotected void setDocCount(int i)
public int docCount()
public void writeLastModificationTimestampFile()
Updates the date of the last modification timestamp of this Lucene index. If the file does not exist, creates this file.
public void writeLastModificationTimestampFile(boolean create)
writeCreationTimestampFile() instead.
public int getFieldType(java.lang.String name)
name - The name of the field for which the type is desired.
public java.util.Locale getLocale(java.lang.String name)
name - The name of the field for which the Locale is desired.public Field getDefaultField()
public Field getField(java.lang.String name)
name - The name of the field for which the Field is desired.public MetaAnalyzer getMetaAnalyzer()
public void setMetaAnalyzer(MetaAnalyzer mAnalyzer)
throws SDXException
mAnalyzer - A MetaAnalyzer object containing a FieldList object for this index.
SDXException
public void writeDocument(org.apache.lucene.document.Document ldoc,
boolean batchIndex)
throws SDXException
ldoc - The Lucene document to store.batchIndex - Indicates wheter a tempBatch index is taking place or not. Useful for efficiency of index optimizations
SDXException
public void writeDocument(org.apache.lucene.document.Document ldoc,
boolean batchIndex,
boolean autoOptimize)
throws SDXException
ldoc - The Lucene document to store.batchIndex - Indicates wheter a tempBatch index is taking place or not. Useful for efficiency of index optimizationsautoOptimize - Is the DocumentBase autoOptimize ?
SDXException
public void recycleLuceneIndexSearcher()
throws SDXException
SDXException
public void recycleIndexReader()
throws SDXException
SDXException
public void deleteDocument(java.lang.String docId)
throws SDXException
docId - The document's id.
SDXException
public QueryParser getQueryParser()
throws java.io.IOException,
SDXException
java.io.IOException
SDXExceptionpublic java.lang.String getRemoteIndexName()
public void freeResources()
throws java.io.IOException
freeResources in class LuceneDataStorejava.io.IOException - Lucene IOExceptionspublic void setParameters(LuceneIndexParameters params)
params - The relevant parameters for this lucene index.
protected org.apache.lucene.index.IndexWriter getWriter(org.apache.lucene.store.Directory directory)
throws java.io.IOException
getWriter in class LuceneDataStoredirectory - The lucene directory for which the writer is desired
java.io.IOException
protected org.apache.lucene.index.IndexWriter getWriter(org.apache.lucene.store.Directory directory,
boolean create)
throws java.io.IOException
getWriter in class LuceneDataStorejava.io.IOExceptionpublic org.apache.lucene.search.Searchable getSearcher()
Ensures we have a correct Lucene searcher for this index. For that, we ensure that this index has not been modified since the last initialization of the current searcher. If so, we have to recycle the searcher.
getSearcher in class LuceneDataStorepublic org.apache.lucene.search.Searchable getSearcher(boolean automaticRecycle)
public org.apache.lucene.index.IndexReader getReader()
throws SDXException
Ensures we have a correct Lucene reader for this index. For that, we ensure that this index has not been modified since the last initialization of the current reader. If so, we have to recycle the reader.
getReader in class LuceneDataStoreSDXException
public org.apache.lucene.index.IndexReader getReader(boolean automaticRecycle)
throws SDXException
SDXExceptionpublic void recycleSearcherReader()
public java.lang.String getFieldValue(IndexableDocument doc,
java.lang.String fieldName)
throws SDXException
doc - The Lucene documentfieldName - The name of the field
SDXExceptionpublic java.util.Date getCreationDate()
public java.util.Date getLastModificationDate()
Returns the the last modification timestamp of this Lucene index as a Date.
public long getLastModificationTimestamp()
public void toSAX(org.xml.sax.ContentHandler hdl)
throws org.xml.sax.SAXException
toSAX in interface org.apache.excalibur.xml.sax.XMLizabletoSAX in class AbstractSdxObjectorg.xml.sax.SAXExceptionprotected java.lang.String getClassNameSuffix()
AbstractSdxObject
getClassNameSuffix in class AbstractSdxObject
public void optimize()
throws SDXException
optimize in class LuceneDataStoreSDXException
public void mergeCurrentBatch()
throws SDXException
SDXException
public void mergeCurrentBatch(boolean optimize)
throws SDXException
SDXExceptionpublic boolean isSubIndex()
public boolean hasBeenModified()
Returns true if this Lucene index has been modified since the last modification timestamp.
public void backup(SaveParameters save_config)
throws SDXException
backup in interface Saveablebackup in class LuceneDataStoreSDXExceptionSaveable.backup(fr.gouv.culture.sdx.utils.save.SaveParameters)
public void restore(SaveParameters save_config)
throws SDXException
restore in interface Saveablerestore in class LuceneDataStoreSDXExceptionSaveable.restore(fr.gouv.culture.sdx.utils.save.SaveParameters)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||