diff --git a/webapp/rdf/display/everytime/searchIndexerConfigurationVitro.n3 b/webapp/rdf/display/everytime/searchIndexerConfigurationVitro.n3 index 8bddad7b8..d8e06b1c4 100644 --- a/webapp/rdf/display/everytime/searchIndexerConfigurationVitro.n3 +++ b/webapp/rdf/display/everytime/searchIndexerConfigurationVitro.n3 @@ -1,4 +1,5 @@ @prefix : . +@prefix rdfs: . @prefix xsd: . # @@ -41,21 +42,6 @@ # ------------------------------------ -:documentModifier_nameFields - a , - . - -:documentModifier_nameBoost - a , - ; - :hasBoost "1.2"^^xsd:float . - -:documentModifier_thumbnailImageUrl - a , - . - -# ------------------------------------ - :uriFinder_forDataProperties a , . @@ -71,3 +57,18 @@ :uriFinder_forClassGroupChange a , . + +# ------------------------------------ + +:documentModifier_nameFields + a , + . + +:documentModifier_nameBoost + a , + ; + :hasBoost "1.2"^^xsd:float . + +:documentModifier_thumbnailImageUrl + a , + . diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/SearchIndexerImpl.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/SearchIndexerImpl.java index c92e26f4f..e1d780844 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/SearchIndexerImpl.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/SearchIndexerImpl.java @@ -334,7 +334,7 @@ public class SearchIndexerImpl implements SearchIndexer { try { queue.execute(new TaskWrapper(task)); } catch (RejectedExecutionException e) { - log.warn("Search Indexer task was rejected: " + e); + log.warn("Search Indexer task was rejected: " + task); } } @@ -442,7 +442,11 @@ public class SearchIndexerImpl implements SearchIndexer { } public void submit(Runnable workUnit, Task task) { - pool.execute(new WorkUnitWrapper(workUnit, task)); + try { + pool.execute(new WorkUnitWrapper(workUnit, task)); + } catch (RejectedExecutionException e) { + log.warn("Work unit was rejected: " + workUnit + " for " + task); + } } public void waitUntilIdle() { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/RebuildIndexTask.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/RebuildIndexTask.java index fd6b7be5d..bf1d0e3ac 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/RebuildIndexTask.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/RebuildIndexTask.java @@ -70,13 +70,27 @@ public class RebuildIndexTask implements Task { listeners.fireEvent(new Event(START_REBUILD, status)); Collection uris = getAllUrisInTheModel(); - updateTheUris(uris); - deleteOutdatedDocuments(); + + if (!isInterrupted()) { + updateTheUris(uris); + if (!isInterrupted()) { + deleteOutdatedDocuments(); + } + } status = buildStatus(REBUILDING, getDocumentCount()); listeners.fireEvent(new Event(STOP_REBUILD, status)); } + private boolean isInterrupted() { + if (Thread.interrupted()) { + Thread.currentThread().interrupt(); + return true; + } else { + return false; + } + } + private Collection getAllUrisInTheModel() { return indDao.getAllIndividualUris(); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateUrisTask.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateUrisTask.java index 5b4997792..2743f84dc 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateUrisTask.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/searchindex/tasks/UpdateUrisTask.java @@ -21,7 +21,6 @@ import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.VClass; import edu.cornell.mannlib.vitro.webapp.dao.IndividualDao; import edu.cornell.mannlib.vitro.webapp.modules.searchEngine.SearchEngine; -import edu.cornell.mannlib.vitro.webapp.modules.searchEngine.SearchEngineException; import edu.cornell.mannlib.vitro.webapp.modules.searchIndexer.SearchIndexer.Event; import edu.cornell.mannlib.vitro.webapp.modules.searchIndexer.SearchIndexerStatus; import edu.cornell.mannlib.vitro.webapp.modules.searchIndexer.SearchIndexerStatus.UriCounts; @@ -81,7 +80,7 @@ public class UpdateUrisTask implements Task { for (String uri : uris) { if (isInterrupted()) { log.info("Interrupted: " + status.getSearchIndexerStatus()); - return; + break; } else { Individual ind = getIndividual(uri); if (ind == null || hasNoClass(ind) || isExcluded(ind)) { @@ -103,8 +102,8 @@ public class UpdateUrisTask implements Task { private void commitChanges() { try { searchEngine.commit(); - } catch (SearchEngineException e) { - log.error("Failed to commit the changes."); + } catch (Exception e) { + log.error("Failed to commit the changes.", e); } } @@ -144,7 +143,7 @@ public class UpdateUrisTask implements Task { searchEngine.deleteById(SearchIndexerUtils.getIdForUri(uri)); status.incrementDeletes(); log.debug("deleted '" + uri + "' from search index."); - } catch (SearchEngineException e) { + } catch (Exception e) { log.warn("Failed to delete '" + uri + "' from search index", e); } }