|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.jalios.jcms.search.LuceneFileSearchEngine
public class LuceneFileSearchEngine
This class is an implementation of FileSearchEngine base on Lucene search engine.
| Field Summary | |
|---|---|
static String |
AUTHORID_FIELD
Field name for the id of the FileDocument's author, e.g "j_2", or "21243_DBMember" |
static String |
CLASSNAME_FIELD
Field name for the className in jcms, e.g. |
static String |
CONTENTS_FIELD
Field name for the content of the file |
static String |
FILE_INDEX_DIRECTORY
|
static String |
JALIOS_DATE_FIELD
Field name for the Indexing Date (time in ms) |
static String |
JCMS_ID_FIELD
Field name for the id in jcms, e.g. |
static String |
JCMS_PATH_FIELD
Field name for the relative path in jcms, e.g. |
static String |
MODIFIED_FIELD
Field name for the last modified date of the file (time in ms) when it was indexed |
static String |
PATH_FIELD
Field name for the file path (file.getPath()) when it was indexed |
static String |
PSTATUS_FIELD
Field name for the pstatus of the FileDocument, eg : "-10", "0", "100" |
static String |
REVISION
|
static String |
WORKSPACEID_FIELD
Field name for the id of the FileDocument's workspace, e.g "j_4" |
| 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 |
| Constructor Summary | |
|---|---|
LuceneFileSearchEngine()
|
|
| Method Summary | |
|---|---|
org.apache.lucene.store.FSDirectory |
getDirectory()
Returns the lucene directory used by this LuceneFileSearchEngine. |
org.apache.lucene.document.Document |
getDocument(String filename)
Retrieve the Lucene Document bound to the specified filename. |
int |
getFileCount()
|
org.apache.lucene.document.Document |
getLuceneDocument(File file,
String content)
Retrieve a new lucene Document for the specified file in preparation of indexing. |
void |
index(File file,
org.apache.lucene.document.Document doc)
Add the specified lucene Document to the index. |
boolean |
isAvailable()
|
void |
optimize()
Realize a Lucene optimization of the Lucene File Index. |
void |
remove(File file)
Remove the specified file from the lucene index. |
LinkedHashMap<String,Float> |
search(QueryHandler qh)
Return the list of publication's identifier with a lucene search. |
boolean |
search(QueryHandler qh,
HashSet<? extends Publication> pubSet,
LinkedHashMap<String,Float> resultMap)
Perform a full-text search on indexed files |
boolean |
search(QueryHandler qh,
HashSet<? extends Publication> pubSet,
QueryResultSet resultSet,
boolean searchInDB)
Perform a full-text search on indexed files |
LinkedHashMap<String,Float> |
search(QueryHandler qh,
List<String> idList)
Filters the given list of publication's identifier with a lucene search. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String REVISION
public static final String FILE_INDEX_DIRECTORY
public static final String PATH_FIELD
public static final String CONTENTS_FIELD
public static final String MODIFIED_FIELD
public static final String JALIOS_DATE_FIELD
public static final String JCMS_PATH_FIELD
public static final String JCMS_ID_FIELD
public static final String AUTHORID_FIELD
public static final String PSTATUS_FIELD
public static final String WORKSPACEID_FIELD
public static final String CLASSNAME_FIELD
| Constructor Detail |
|---|
public LuceneFileSearchEngine()
throws Exception
Exception| Method Detail |
|---|
public org.apache.lucene.store.FSDirectory getDirectory()
IndexReader.indexExists(Directory).
public boolean isAvailable()
isAvailable in interface FileSearchEnginepublic org.apache.lucene.document.Document getDocument(String filename)
filename - relative file path e.g. "upload/docs/file.txt"
public boolean search(QueryHandler qh,
HashSet<? extends Publication> pubSet,
QueryResultSet resultSet,
boolean searchInDB)
search in interface FileSearchEngineqh - 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 PublicationsearchInDB - if false, only JStore publication are set in pubSet
public boolean search(QueryHandler qh,
HashSet<? extends Publication> pubSet,
LinkedHashMap<String,Float> resultMap)
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. resultMap - the map that must be filled with matching {Publication's Id, score}
public LinkedHashMap<String,Float> search(QueryHandler qh,
List<String> idList)
FileSearchEngine
search in interface FileSearchEngineqh - the Queryhandler in which to find search text and search options.idList - the list of publication's identifier
idList and respect its order.public LinkedHashMap<String,Float> search(QueryHandler qh)
FileSearchEngine
search in interface FileSearchEngineqh - the Queryhandler in which to find search text and search options.
public int getFileCount()
getFileCount in interface FileSearchEngine
public org.apache.lucene.document.Document getLuceneDocument(File file,
String content)
file - the File to index (must no be null and file must exists).
this file MUST be located under the webapp root directory (usually inside the upload directory).content - the content of the file, optionnal.
index(File, Document)index(File, Document)
public void index(File file,
org.apache.lucene.document.Document doc)
file - the File to be indexed in lucene
this file MUST be located under the webapp root directory (usually inside the upload directory).doc - the lucene Document instance build (see getLuceneDocument(File, String)public void remove(File file)
file - the File to be removed from lucene.
this file MUST be located under the webapp root directory (usually inside the upload directory).public void optimize()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||