public class LuceneCategorySearchEngine extends LuceneDataSearchEngine implements CategorySearchEngine, JcmsConstants
CategorySearchEngine
is reponsible for the indexing and searching of JCMS
content using lucene. WEB-INF/data/lucene/CategoriesIndices/<lang>/
.Document
per indexed Category
."search-engine.optimize-schedule"
(jdring's AlarmEntry cron-like format)Analyzer getAnalyzer(String lang);
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ALLFIELDS_FIELD |
protected static java.lang.String |
CATEGORY_INDEX_DIRECTORY |
static java.lang.String |
DESCRIPTION_FIELD |
static java.lang.String |
MATCHED_CATEGORIES_ATTRIBUTE
This variable is the attribute's key used by the LuceneCategorySearchEngine to
set the matched categories HashSet in the QueryResultSet Attribute.
|
static java.lang.String |
NAME_FIELD |
static java.lang.String |
REVISION |
static java.lang.String |
SYNONYMS_FIELD |
alarmMgr, channel, directoryName, ID_FIELD, indexAccessLock, INDEXING_DATE_EXTRAINFO, INDEXING_DATE_FIELD, langList, langToIndexDirMap, MAX_BUFFERED_DOCS, MAX_FIELD_LENGTH, MAX_MERGE_DOCS, MERGE_FACTOR, multilingual
ADATE_SEARCH, ADMIN_NOTES_PROP, ADVANCED_TAB, ARCHIVES_DIR, ASCII_WIDTH, CATEGORY_TAB, CDATE_SEARCH, COMMON_ALARM, CONTENT_TAB, COOKIE_MAX_AGE, CTRL_TOPIC_INTERNAL, CTRL_TOPIC_REF, CTRL_TOPIC_VALUE, CTRL_TOPIC_WRITE, CUSTOM_PROP, DOCCHOOSER_HEIGHT, DOCCHOOSER_WIDTH, DOCS_DIR, EDATE_SEARCH, EMAIL_REGEXP, ERROR_MSG, FORBIDDEN_FILE_ACCESS, FORBIDDEN_REDIRECT, FORCE_REDIRECT, ICON_ARCHIVE, ICON_LOCK, ICON_LOCK_STRONG, ICON_WARN, ICON_WH_BOOK_CLOSED, ICON_WH_BOOK_OPEN, INFORMATION_MSG, JALIOS_JUNIT_PROP, JCMS_CADDY, JCMS_MSG_LIST, JSYNC_DOWNLOAD_DIR, JSYNC_SYNC_ALARM, 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, PDATE_SEARCH, PHOTO_DIR, PHOTO_ICON, PHOTO_ICON_HEIGHT, PHOTO_ICON_WIDTH, PHOTO_LARGE, PHOTO_LARGE_HEIGHT, PHOTO_LARGE_WIDTH, PHOTO_NORMAL, PHOTO_NORMAL_HEIGHT, PHOTO_NORMAL_WIDTH, PHOTO_SMALL, PHOTO_SMALL_HEIGHT, PHOTO_SMALL_WIDTH, PHOTO_TINY, PHOTO_TINY_HEIGHT, PHOTO_TINY_WIDTH, PREVIOUS_TAB, PRINT_VIEW, PRIVATE_FILE_ACCESS, PUBLIC_FILE_ACCESS, READ_RIGHT_TAB, SDATE_SEARCH, SEARCHENGINE_ALARM, SESSION_AUTHORIZED_FILENAMES_SET, STATS_REPORT_DIR, STATUS_PROP, STORE_XML, TEMPLATE_TAB, THUMBNAIL_LARGE_HEIGHT, THUMBNAIL_LARGE_WIDTH, THUMBNAIL_SMALL_HEIGHT, THUMBNAIL_SMALL_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, URL_REGEXP, WARNING_MSG, WEBAPP_PROP, WFEXPRESS_ALARM, WFREMINDER_ALARM, WORKFLOW_TAB, WORKFLOW_XML
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
Constructor and Description |
---|
LuceneCategorySearchEngine()
Initialize the Lucene Search Engine
|
Modifier and Type | Method and Description |
---|---|
void |
add(Category cat)
Add given
Category to this lucene search engine. |
void |
add(java.util.Collection<Category> coll)
Add given
Collection of Category to this lucene search engine. |
protected void |
addKeywordField(org.apache.lucene.document.Document doc,
Category cat,
java.lang.String lang,
java.lang.String fieldName,
java.lang.String fieldValue,
boolean applyBoost)
This methods create a unstored Lucene
Field with the given field's value
of the given Category in the given language, and add into the given Document . |
protected void |
addUnStoredField(org.apache.lucene.document.Document doc,
Category cat,
java.lang.String lang,
java.lang.String fieldName,
java.lang.String fieldValue,
boolean applyBoost)
This methods create a unstored Lucene
Field with the given field's value
of the given Category in the given language, and add into the given Document . |
void |
clearAll()
Clear indices in this searchEngine (undoable!).
|
void |
delete(Category cat)
Delete given
Category from this lucene search engine. |
void |
delete(java.util.Collection<Category> coll)
Delete given
Collection of Category from this lucene search engine. |
protected com.jalios.jcms.search.DataIterator<Data> |
getAllDataIterator()
This methods must be implemented by the LuceneSearchEngine.
|
java.util.Date |
getIndexingDate(Category cat)
Retrieve the Date at which the specified Category was indexed in the search engine.
|
protected org.apache.log4j.Logger |
getLogger()
This methods must be implemented by the LuceneSearchEngine.
|
protected void |
indexData(org.apache.lucene.index.IndexWriter writer,
Data data,
java.lang.String lang)
This methods index the given Category in the given language, into the given index writer.
|
boolean |
search(QueryHandler qh,
java.util.HashSet<? extends Publication> pubSet,
QueryResultSet resultSet)
Perform a full-text search.
|
java.util.Collection<Category> |
searchCategories(org.apache.lucene.search.Query query)
Find Category matching the specified lucene Query
|
java.util.Collection<Category> |
searchCategories(QueryHandler qh)
Find Category matching the specified QueryHandler search options (uses mainly the text search param)
|
void |
update(Category cat)
Update given
Category in this lucene search engine. |
void |
update(java.util.Collection<Category> coll)
Update given
Collection of Category in this lucene search engine. |
addData, addDataCollection, clearIndices, clearSearcher, deleteData, deleteDataCollection, getDirectory, getIndexingDate, getIndexingDate, getLastOptimizeDateSinceRestart, getLastOptimizeDuration, getLastReindexDateSinceRestart, getLastReindexDuration, getLuceneDocument, getOperationStartTime, getPrimaryTerm, getProgressState, getSearcher, index, index, isOperationRunning, optimizeIndices, reindexAll, remove, setIndexWriterOptions, updateData, updateDataCollection
public static final java.lang.String REVISION
public static final java.lang.String MATCHED_CATEGORIES_ATTRIBUTE
protected static final java.lang.String CATEGORY_INDEX_DIRECTORY
public static final java.lang.String NAME_FIELD
public static final java.lang.String SYNONYMS_FIELD
public static final java.lang.String DESCRIPTION_FIELD
public static final java.lang.String ALLFIELDS_FIELD
public LuceneCategorySearchEngine() throws java.lang.Exception
java.lang.Exception
- if error occurs during initializationpublic void add(Category cat)
Category
to this lucene search engine.add
in interface CategorySearchEngine
cat
- the Category
to index .public void update(Category cat)
Category
in this lucene search engine.update
in interface CategorySearchEngine
cat
- the Category
to reindex .public void delete(Category cat)
Category
from this lucene search engine.delete
in interface CategorySearchEngine
cat
- the Category
to reindex .public void add(java.util.Collection<Category> coll)
Collection
of Category
to this lucene search engine.add
in interface CategorySearchEngine
coll
- the Collection
of Category
to index .public void update(java.util.Collection<Category> coll)
Collection
of Category
in this lucene search engine.update
in interface CategorySearchEngine
coll
- the Collection
of Category
to reindex .public void delete(java.util.Collection<Category> coll)
Collection
of Category
from this lucene search engine.delete
in interface CategorySearchEngine
coll
- the Collection
of Category
to reindex .public java.util.Date getIndexingDate(Category cat)
getIndexingDate
in interface CategorySearchEngine
cat
- the Category
for which to retrieve the indexing date.public void clearAll()
clearAll
in interface CategorySearchEngine
public boolean search(QueryHandler qh, java.util.HashSet<? extends Publication> pubSet, QueryResultSet resultSet)
CategorySearchEngine
search
in interface CategorySearchEngine
qh
- the Queryhandler in which to find search text and search options.pubSet
- a HashSet containing all the Publication
to search. Publication
found will be returned. resultSet
- the QueryResultSet
that must be filled
with matching Publication
public java.util.Collection<Category> searchCategories(QueryHandler qh)
qh
- the QueryHandler used to storepublic java.util.Collection<Category> searchCategories(org.apache.lucene.search.Query query)
query
- a Lucene Queryprotected org.apache.log4j.Logger getLogger()
LuceneDataSearchEngine
getLogger
in class LuceneDataSearchEngine
Logger
of this engine.protected com.jalios.jcms.search.DataIterator<Data> getAllDataIterator()
LuceneDataSearchEngine
LuceneDataSearchEngine.reindexAll()
.getAllDataIterator
in class LuceneDataSearchEngine
protected void indexData(org.apache.lucene.index.IndexWriter writer, Data data, java.lang.String lang) throws java.io.IOException
indexData
in class LuceneDataSearchEngine
java.io.IOException
protected void addUnStoredField(org.apache.lucene.document.Document doc, Category cat, java.lang.String lang, java.lang.String fieldName, java.lang.String fieldValue, boolean applyBoost)
Field
with the given field's value
of the given Category
in the given language, and add into the given Document
.applyBoost
- whether to apply the boost, useful for appendable field in which case
the boost should only be applied for the first element.protected void addKeywordField(org.apache.lucene.document.Document doc, Category cat, java.lang.String lang, java.lang.String fieldName, java.lang.String fieldValue, boolean applyBoost)
Field
with the given field's value
of the given Category
in the given language, and add into the given Document
.applyBoost
- whether to apply the boost, useful for appendable field in which case
the boost should only be applied for the first element.Copyright © 2001-2010 Jalios SA. All Rights Reserved.