|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.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 FileSearchEngine
public 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 FileSearchEngine
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
searchInDB
- 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 FileSearchEngine
qh
- 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 FileSearchEngine
qh
- 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 |