mirror of
https://github.com/sismics/docs.git
synced 2024-11-25 15:17:57 +01:00
Cleanup Lucene DAO
This commit is contained in:
parent
35ec8b951c
commit
cdfb43dbd8
@ -34,7 +34,7 @@ public class LuceneDao {
|
|||||||
/**
|
/**
|
||||||
* Destroy and rebuild index.
|
* Destroy and rebuild index.
|
||||||
*
|
*
|
||||||
* @param fileList
|
* @param fileList List of files
|
||||||
*/
|
*/
|
||||||
public void rebuildIndex(final List<Document> documentList, final List<File> fileList) {
|
public void rebuildIndex(final List<Document> documentList, final List<File> fileList) {
|
||||||
LuceneUtil.handle(new LuceneRunnable() {
|
LuceneUtil.handle(new LuceneRunnable() {
|
||||||
@ -103,21 +103,6 @@ public class LuceneDao {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Update file index.
|
|
||||||
*
|
|
||||||
* @param file Updated file
|
|
||||||
*/
|
|
||||||
public void updateFile(final File file) {
|
|
||||||
LuceneUtil.handle(new LuceneRunnable() {
|
|
||||||
@Override
|
|
||||||
public void run(IndexWriter indexWriter) throws Exception {
|
|
||||||
org.apache.lucene.document.Document luceneDocument = getDocumentFromFile(file);
|
|
||||||
indexWriter.updateDocument(new Term("id", file.getId()), luceneDocument);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete document from the index.
|
* Delete document from the index.
|
||||||
*
|
*
|
||||||
@ -166,7 +151,7 @@ public class LuceneDao {
|
|||||||
|
|
||||||
// Search
|
// Search
|
||||||
DirectoryReader directoryReader = AppContext.getInstance().getIndexingService().getDirectoryReader();
|
DirectoryReader directoryReader = AppContext.getInstance().getIndexingService().getDirectoryReader();
|
||||||
Set<String> documentIdList = new HashSet<String>();
|
Set<String> documentIdList = new HashSet<>();
|
||||||
if (directoryReader == null) {
|
if (directoryReader == null) {
|
||||||
// The directory reader is not yet initialized (probably because there is nothing indexed)
|
// The directory reader is not yet initialized (probably because there is nothing indexed)
|
||||||
return documentIdList;
|
return documentIdList;
|
||||||
@ -176,8 +161,8 @@ public class LuceneDao {
|
|||||||
ScoreDoc[] docs = topDocs.scoreDocs;
|
ScoreDoc[] docs = topDocs.scoreDocs;
|
||||||
|
|
||||||
// Extract document IDs
|
// Extract document IDs
|
||||||
for (int i = 0; i < docs.length; i++) {
|
for (ScoreDoc doc : docs) {
|
||||||
org.apache.lucene.document.Document document = searcher.doc(docs[i].doc);
|
org.apache.lucene.document.Document document = searcher.doc(doc.doc);
|
||||||
String type = document.get("doctype");
|
String type = document.get("doctype");
|
||||||
String documentId = null;
|
String documentId = null;
|
||||||
if (type.equals("document")) {
|
if (type.equals("document")) {
|
||||||
@ -194,7 +179,7 @@ public class LuceneDao {
|
|||||||
/**
|
/**
|
||||||
* Build Lucene document from database document.
|
* Build Lucene document from database document.
|
||||||
*
|
*
|
||||||
* @param documentDto Document
|
* @param document Document
|
||||||
* @return Document
|
* @return Document
|
||||||
*/
|
*/
|
||||||
private org.apache.lucene.document.Document getDocumentFromDocument(Document document) {
|
private org.apache.lucene.document.Document getDocumentFromDocument(Document document) {
|
||||||
|
Loading…
Reference in New Issue
Block a user