Adding checks for exceptions to solr index building.

This commit is contained in:
Brian Caruso 2013-07-16 16:15:26 -04:00
parent 268a786214
commit fb28ce2d6d
2 changed files with 46 additions and 36 deletions

View file

@ -4,7 +4,6 @@ package edu.cornell.mannlib.vitro.webapp.search.solr;
import java.io.IOException; import java.io.IOException;
import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
@ -19,7 +18,6 @@ import org.apache.solr.common.SolrInputDocument;
import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.search.IndexingException; import edu.cornell.mannlib.vitro.webapp.search.IndexingException;
import edu.cornell.mannlib.vitro.webapp.search.beans.IndexerIface; import edu.cornell.mannlib.vitro.webapp.search.beans.IndexerIface;
import edu.cornell.mannlib.vitro.webapp.search.docbuilder.Obj2DocIface;
import edu.cornell.mannlib.vitro.webapp.search.solr.documentBuilding.IndividualToSolrDocument; import edu.cornell.mannlib.vitro.webapp.search.solr.documentBuilding.IndividualToSolrDocument;
@ -159,7 +157,7 @@ public class SolrIndexer implements IndexerIface {
log.debug("could not remove documents from before build, " ,e); log.debug("could not remove documents from before build, " ,e);
} }
try { try {
UpdateResponse res = server.commit(); server.commit();
} catch (Throwable e) { } catch (Throwable e) {
if( ! shutdownRequested ){ if( ! shutdownRequested ){
log.debug("could not commit to solr server, " + log.debug("could not commit to solr server, " +

View file

@ -17,6 +17,7 @@ import org.apache.solr.common.SolrInputDocument;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.jsoup.Jsoup; import org.jsoup.Jsoup;
import com.hp.hpl.jena.shared.JenaException;
import com.hp.hpl.jena.vocabulary.OWL; import com.hp.hpl.jena.vocabulary.OWL;
import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement; import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement;
@ -160,6 +161,7 @@ public class IndividualToSolrDocument {
//ALLTEXT, all of the 'full text' //ALLTEXT, all of the 'full text'
StringBuffer allTextValue = new StringBuffer(); StringBuffer allTextValue = new StringBuffer();
try{
//collecting data property statements //collecting data property statements
List<DataPropertyStatement> dataPropertyStatements = ind.getDataPropertyStatements(); List<DataPropertyStatement> dataPropertyStatements = ind.getDataPropertyStatements();
if (dataPropertyStatements != null) { if (dataPropertyStatements != null) {
@ -178,6 +180,10 @@ public class IndividualToSolrDocument {
allTextValue.append(((t=dataPropertyStmt.getData()) == null)?"":t); allTextValue.append(((t=dataPropertyStmt.getData()) == null)?"":t);
} }
} }
}catch(JenaException je){
//VIVO-15 Trap for characters that cause search indexing to abort
log.error(String.format("Continuing to index %s but could not get all dataproperties because %s",ind.getURI(),je.getMessage()));
}
allTextValue.append(objectNames.toString()); allTextValue.append(objectNames.toString());
@ -209,6 +215,8 @@ public class IndividualToSolrDocument {
*/ */
protected void addObjectPropertyText(Individual ind, SolrInputDocument doc, protected void addObjectPropertyText(Individual ind, SolrInputDocument doc,
StringBuffer objectNames, StringBuffer addUri) { StringBuffer objectNames, StringBuffer addUri) {
try{
List<ObjectPropertyStatement> objectPropertyStatements = ind.getObjectPropertyStatements(); List<ObjectPropertyStatement> objectPropertyStatements = ind.getObjectPropertyStatements();
if (objectPropertyStatements != null) { if (objectPropertyStatements != null) {
Iterator<ObjectPropertyStatement> objectPropertyStmtIter = objectPropertyStatements.iterator(); Iterator<ObjectPropertyStatement> objectPropertyStmtIter = objectPropertyStatements.iterator();
@ -228,6 +236,10 @@ public class IndividualToSolrDocument {
} }
} }
} }
}catch(JenaException je){
//VIVO-15 Trap for characters that cause search indexing to abort
log.error(String.format("Continuing to index %s but could not get all object properties because %s",ind.getURI(),je.getMessage()));
}
} }
/** /**