com.jalios.jcms.search
Class LuceneMemberSearchEngine

java.lang.Object
  extended by com.jalios.jcms.search.LuceneMemberSearchEngine
All Implemented Interfaces:
JcmsConstants, JaliosConstants

public class LuceneMemberSearchEngine
extends Object
implements JcmsConstants

Provides member indexing and search.

Since:
jcms-6.1.0
Version:
$Revision: 36810 $

Field Summary
static String ALLFIELDS_FIELD
           
static String CDATE_FIELD
           
protected  Channel channel
           
static String DEPARTMENT_FIELD
           
static String EMAIL_FIELD
           
static String FIRSTNAME_FIELD
           
static String GROUPS_FIELD
           
static String ID_FIELD
           
protected  org.apache.lucene.store.FSDirectory indexDirectory
           
static String INDEXING_DATE_EXTRAINFO
           
static String INDEXING_DATE_FIELD
           
protected  boolean isOperationRunning
           
static String JOBTITLE_FIELD
           
static String LASTNAME_FIELD
           
static String LOGIN_FIELD
           
protected static String MEMBER_INDEX_DIRECTORY
           
static String ORGANIZATION_FIELD
           
static String REVISION
           
static String SORT_FIELD_PREFIX
           
static String USAGE_FIELD
           
 
Fields inherited from interface com.jalios.jcms.JcmsConstants
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_DEEP_COPY, OP_DEEP_DELETE, OP_DELETE, OP_MERGE, OP_UPDATE, 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, UDATE_SEARCH, UPDATE_RIGHT_TAB, UPLOAD_DIR, URL_REGEXP, WARNING_MSG, WEBAPP_PROP, WFEXPRESS_ALARM, WFREMINDER_ALARM, WORKFLOW_TAB, WORKFLOW_XML
 
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
 
Method Summary
 void add(Member mbr)
          Add the specified Member to the lucene index.
 org.apache.lucene.store.FSDirectory getDirectory()
          Returns the lucene directory used by this LuceneMemberSearchEngine.
 Date getIndexingDate(Member mbr)
          Retrieve the Date at which the specified Member was indexed.
static LuceneMemberSearchEngine getInstance()
          Retrieve the LuceneMemberSearchEngine singleton.
 org.apache.lucene.document.Document getLuceneDocument(Member mbr)
          Retrieve a new lucene Document for the specified Member in preparation of indexing.
protected  org.apache.lucene.search.Searcher getSearcher()
           
 void index(Member mbr, org.apache.lucene.document.Document doc)
          Add the specified lucene Document to the index.
 boolean isAvailable()
           
 boolean isOperationRunning()
          Check if an writing operation is being performed on the MemberIndex.
 void optimize()
          Realize a Lucene optimization of the Lucene Member Index.
 void reindexAll()
          Reindex all Member and DBMember in the Lucene Member Index.
 void remove(Member mbr)
          Remove the specified Member from the lucene index.
 LinkedHashMap<String,Float> search(AllMemberQueryHandler amqh)
          Search all members (Member and DBMember) using the specified criteria (paging excepted).
 org.apache.lucene.document.Document searchLuceneDocument(Member mbr)
          Returns the lucene Document corresponding to the specified Member.
 PageResult<Member> searchPage(AllMemberQueryHandler amqh)
          Search all members (Member and DBMember) using the specified criteria.
 void update(Member mbr)
          Update the specified Member in the lucene index.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REVISION

public static final String REVISION
See Also:
Constant Field Values

MEMBER_INDEX_DIRECTORY

protected static final String MEMBER_INDEX_DIRECTORY
See Also:
Constant Field Values

ID_FIELD

public static final String ID_FIELD
See Also:
Constant Field Values

CDATE_FIELD

public static final String CDATE_FIELD
See Also:
Constant Field Values

ALLFIELDS_FIELD

public static final String ALLFIELDS_FIELD
See Also:
Constant Field Values

INDEXING_DATE_FIELD

public static final String INDEXING_DATE_FIELD
See Also:
Constant Field Values

INDEXING_DATE_EXTRAINFO

public static final String INDEXING_DATE_EXTRAINFO
See Also:
Constant Field Values

LOGIN_FIELD

public static final String LOGIN_FIELD
See Also:
Constant Field Values

FIRSTNAME_FIELD

public static final String FIRSTNAME_FIELD
See Also:
Constant Field Values

LASTNAME_FIELD

public static final String LASTNAME_FIELD
See Also:
Constant Field Values

EMAIL_FIELD

public static final String EMAIL_FIELD
See Also:
Constant Field Values

JOBTITLE_FIELD

public static final String JOBTITLE_FIELD
See Also:
Constant Field Values

DEPARTMENT_FIELD

public static final String DEPARTMENT_FIELD
See Also:
Constant Field Values

ORGANIZATION_FIELD

public static final String ORGANIZATION_FIELD
See Also:
Constant Field Values

GROUPS_FIELD

public static final String GROUPS_FIELD
See Also:
Constant Field Values

USAGE_FIELD

public static final String USAGE_FIELD
See Also:
Constant Field Values

SORT_FIELD_PREFIX

public static final String SORT_FIELD_PREFIX
See Also:
Constant Field Values

channel

protected final Channel channel

indexDirectory

protected final org.apache.lucene.store.FSDirectory indexDirectory

isOperationRunning

protected boolean isOperationRunning
Method Detail

getInstance

public static LuceneMemberSearchEngine getInstance()
                                            throws Exception
Retrieve the LuceneMemberSearchEngine singleton.

After engine has been started during Channel startup, use Channel.getMemberSearchEngine() to retrieve singleton getter without having to catch exception.

Returns:
the LuceneMemberSearchEngine singleton.
Throws:
Exception - if was not initialized and the initialization failed.
Since:
jcms-6.1.0

getDirectory

public org.apache.lucene.store.FSDirectory getDirectory()
Returns the lucene directory used by this LuceneMemberSearchEngine.
Warning!!! you should not modify the index, use this method only to access the directory in readonly !.
Note: The directory may not exists, check with IndexReader.indexExists(Directory).

Returns:
the instance of the FSDirectory used internally.
Since:
jcms-6.1.0

isAvailable

public boolean isAvailable()
Returns:
true if the LuceneMemberSearchEngine is available (ie : index directory exists)
Since:
jcms-6.1.0

searchLuceneDocument

public org.apache.lucene.document.Document searchLuceneDocument(Member mbr)
Returns the lucene Document corresponding to the specified Member.

Parameters:
mbr - the Member being looked for
Returns:
a lucene Document or null if could not be found
Since:
jcms-6.1.0

getIndexingDate

public Date getIndexingDate(Member mbr)
Retrieve the Date at which the specified Member was indexed.

Parameters:
mbr - the Member for which to retrieve the indexing date.
Returns:
the indexing date of the Member or null if was not indexed.
Since:
jcms-6.1.0

searchPage

public PageResult<Member> searchPage(AllMemberQueryHandler amqh)
Search all members (Member and DBMember) using the specified criteria.

Parameters:
amqh - the AllMemberQueryHandler instance specifying search criteria.
Returns:
a new map of Member id to relevance, or null if the maximum number of result allowed was reached
Since:
jcms-6.1.0

search

public LinkedHashMap<String,Float> search(AllMemberQueryHandler amqh)
Search all members (Member and DBMember) using the specified criteria (paging excepted).

Parameters:
amqh - the AllMemberQueryHandler instance specifying search criteria.
Returns:
a new map of Member id to relevance, or null if the maximum number of result allowed was reached
Since:
jcms-6.1.0

add

public void add(Member mbr)
Add the specified Member to the lucene index.

Parameters:
mbr - the Member to be added to lucene.
Since:
jcms-6.1

update

public void update(Member mbr)
Update the specified Member in the lucene index.

Parameters:
mbr - the Member to be update in lucene.
Since:
jcms-6.1

remove

public void remove(Member mbr)
Remove the specified Member from the lucene index.

Parameters:
mbr - the Member to be removed from lucene.
Since:
jcms-6.1

getSearcher

protected org.apache.lucene.search.Searcher getSearcher()
                                                 throws IOException
Returns:
a searcher for the member index.
Throws:
IOException

getLuceneDocument

public org.apache.lucene.document.Document getLuceneDocument(Member mbr)
Retrieve a new lucene Document for the specified Member in preparation of indexing.

Parameters:
mbr - the Member to index (must no be null).
Returns:
A new instance of Document suitable for indexation through index(Member, Document)
Since:
jcms-6.1.0
See Also:
index(Member, Document)

index

public void index(Member mbr,
                  org.apache.lucene.document.Document doc)
Add the specified lucene Document to the index.

Parameters:
mbr - the Member to be indexed in lucene.
doc - the lucene Document instance build (see getLuceneDocument(Member)
Since:
jcms-6.1.0

optimize

public void optimize()
Realize a Lucene optimization of the Lucene Member Index.

Since:
jcms-6.1.0

reindexAll

public void reindexAll()
Reindex all Member and DBMember in the Lucene Member Index.

Since:
jcms-6.1.0

isOperationRunning

public boolean isOperationRunning()
Check if an writing operation is being performed on the MemberIndex.

Returns:
true if operation is being performed, false otherwise


Copyright © 2001-2010 Jalios SA. All Rights Reserved.