Package com.jalios.jcms.archive
Class LuceneArchiveEngine
- java.lang.Object
-
- com.jalios.jcms.archive.LuceneArchiveEngine
-
- All Implemented Interfaces:
ArchiveEngine
,JcmsConstants
,JaliosConstants
public class LuceneArchiveEngine extends java.lang.Object implements ArchiveEngine, JcmsConstants
- Since:
- jcms-4.1.1
- Author:
- Olivier Jaquemet
-
-
Field Summary
-
Fields inherited from interface com.jalios.util.JaliosConstants
CRLF, MILLIS_IN_ONE_DAY, MILLIS_IN_ONE_HOUR, MILLIS_IN_ONE_MINUTE, MILLIS_IN_ONE_MONTH, MILLIS_IN_ONE_SECOND, MILLIS_IN_ONE_WEEK, MILLIS_IN_ONE_YEAR
-
Fields inherited from interface com.jalios.jcms.JcmsConstants
ADATE_SEARCH, ADMIN_NOTES_PROP, ADVANCED_TAB, AJAX_MODE_ATTR, ARCHIVES_DIR, ASCII_WIDTH, CATEGORY_TAB, CDATE_SEARCH, CLASS_PROPERTY, COMMON_ALARM, CONTENT_TAB, COOKIE_MAX_AGE, COUNTRY_SPRITE, CS_TYPOLOGY_ROOT_CAT_VID, CTRL_TOPIC_INTERNAL, CTRL_TOPIC_REF, CTRL_TOPIC_VALUE, CTRL_TOPIC_WRITE, CUSTOM_PROP, DATA_DIRECTORY, DEFAULT_PHOTO_PROP, DOCCHOOSER_HEIGHT, DOCCHOOSER_WIDTH, DOCS_DIR, EDATE_SEARCH, EMAIL_REGEXP, ERROR_MSG, FORBIDDEN_FILE_ACCESS, FORBIDDEN_REDIRECT, FORCE_REDIRECT, GLYPH_ICON_PREFIX, ICON_ARCHIVE, ICON_ICON_PREFIX, ICON_LOCK, ICON_LOCK_STRONG, ICON_PREFIX_PROP, ICON_WARN, ICON_WH_BOOK_CLOSED, ICON_WH_BOOK_OPEN, INFORMATION_MSG, IS_IN_FRONT_OFFICE, JALIOS_JUNIT_PROP, JCMS_CADDY, JCMS_MSG_LIST, JCMS_TOASTR_COLLECTION, JSYNC_DOWNLOAD_DIR, JSYNC_SYNC_ALARM, LANG_SPRITE, LOG_FILE, LOG_TOPIC_SECURITY, LOGGER_PROP, LOGGER_XMLPROP, MBR_PHOTO_DIR, MDATE_SEARCH, MONITOR_XML, OP_CREATE, OP_CREATE_STR, OP_DEEP_COPY, OP_DEEP_COPY_STR, OP_DEEP_DELETE, OP_DEEP_DELETE_STR, OP_DELETE, OP_DELETE_STR, OP_MERGE, OP_MERGE_STR, OP_UPDATE, OP_UPDATE_STR, ORGANIZATION_ROOT_GROUP_PROP, PDATE_SEARCH, PHOTO_DIR, PHOTO_ICON, PHOTO_ICON_HEIGHT, PHOTO_ICON_PROP_PREFIX, PHOTO_ICON_WIDTH, PHOTO_LARGE, PHOTO_LARGE_HEIGHT, PHOTO_LARGE_PROP_PREFIX, PHOTO_LARGE_WIDTH, PHOTO_MINI, PHOTO_MINI_HEIGHT, PHOTO_MINI_PROP_PREFIX, PHOTO_MINI_WIDTH, PHOTO_NORMAL, PHOTO_NORMAL_HEIGHT, PHOTO_NORMAL_PROP_PREFIX, PHOTO_NORMAL_WIDTH, PHOTO_SMALL, PHOTO_SMALL_HEIGHT, PHOTO_SMALL_PROP_PREFIX, PHOTO_SMALL_WIDTH, PHOTO_TINY, PHOTO_TINY_HEIGHT, PHOTO_TINY_PROP_PREFIX, PHOTO_TINY_WIDTH, PREVIOUS_TAB, PRINT_VIEW, PRIVATE_FILE_ACCESS, PUBLIC_FILE_ACCESS, RAW_CONTENT_ICON_PREFIX, READ_RIGHT_TAB, SDATE_SEARCH, SEARCHENGINE_ALARM, SECURITY_LOG_FILE, SESSION_AUTHORIZED_FILENAMES_SET, SPRITE_ICON_PREFIX, STATS_REPORT_DIR, STATUS_PROP, STORE_DIR, STORE_XML, SUCCESS_MSG, SVG_ICON_PREFIX, SVGINLINE_ICON_PREFIX, TEMPLATE_TAB, THUMBNAIL_LARGE_HEIGHT, THUMBNAIL_LARGE_WIDTH, THUMBNAIL_SMALL_HEIGHT, THUMBNAIL_SMALL_WIDTH, TTCARD_MEDIA_HEIGHT, TTCARD_MEDIA_WIDTH, TYPES_ICON_ALT_PROP, TYPES_ICON_SUFFIX_PROP, TYPES_ICON_TITLE_PROP, TYPES_PREFIX_PROP, TYPES_THUMB_SUFFIX_PROP, UDATE_SEARCH, UPDATE_RIGHT_TAB, UPLOAD_DIR, UPLOAD_PERMISSION_COUNT_PROP_PREFIX, UPLOAD_PERMISSION_SIZE_PROP_PREFIX, URL_REGEXP, VID_LOGGED_MEMBER, WARNING_MSG, WEBAPP_PROP, WFEXPRESS_ALARM, WFREMINDER_ALARM, WORKFLOW_TAB, WORKFLOW_XML
-
-
Constructor Summary
Constructors Constructor Description LuceneArchiveEngine()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
deleteArchiveIndex(ArchivedPublication pub)
Delete every information associated with the publicationorg.apache.lucene.store.FSDirectory
getDirectory()
Returns the lucene directory used by this LuceneArchiveEngine.static java.lang.String
getLuceneQuery(java.lang.String text, java.lang.String mode)
Build a lucene query from the given parameters.static int
getMaximumResults()
Retrieve the maximum number of results allowed to be return for a search.void
indexPublication(Publication pub, ArchivedPublication archive)
Index a Publicationvoid
init()
Initialize Lucene Indexjava.util.Set<java.lang.Long>
search(java.lang.String text, java.lang.String mode)
Perform a full-text search on archives.
-
-
-
Method Detail
-
init
public void init() throws java.lang.Exception
Initialize Lucene Index- Specified by:
init
in interfaceArchiveEngine
- Throws:
java.lang.Exception
-
getDirectory
public org.apache.lucene.store.FSDirectory getDirectory()
Returns the lucene directory used by this LuceneArchiveEngine.
Warning!!! you should not modify the index, use this method only to access the directory in readonly !.- Returns:
- the instance of the FSDirectory used internally.
-
indexPublication
public void indexPublication(Publication pub, ArchivedPublication archive) throws java.lang.Exception
Index a Publication- Specified by:
indexPublication
in interfaceArchiveEngine
- Parameters:
pub
- the Publication to indexarchive
- the newly created ArchivedPublication corresponding- Throws:
java.lang.Exception
-
search
public java.util.Set<java.lang.Long> search(java.lang.String text, java.lang.String mode)
Perform a full-text search on archives.- Specified by:
search
in interfaceArchiveEngine
- Parameters:
text
- the text to searchmode
- the search mode- Returns:
- a Set of Long (the rowid of the matching
ArchivedPublication
) - Since:
- jcms-6.0
-
getMaximumResults
public static int getMaximumResults()
Retrieve the maximum number of results allowed to be return for a search.Can be configured using property
query.lucene.archive.max-results
- Returns:
- a maximum number of result retrieve (result beyong this limit are ignored)
-
getLuceneQuery
public static java.lang.String getLuceneQuery(java.lang.String text, java.lang.String mode)
Build a lucene query from the given parameters.Very naive implementation.
- Parameters:
text
- the search stringmode
- the query mode (all, any, word, exact)- Returns:
- a String which contains the lucene-compliant query
-
deleteArchiveIndex
public void deleteArchiveIndex(ArchivedPublication pub)
Delete every information associated with the publication- Specified by:
deleteArchiveIndex
in interfaceArchiveEngine
- Parameters:
pub
- the ArchivedPublication being deleted
-
-