diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/solr/ContextNodeFields.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/solr/ContextNodeFields.java index 1093e0d63..1b7fdf1e5 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/solr/ContextNodeFields.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/solr/ContextNodeFields.java @@ -33,18 +33,18 @@ import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.search.VitroSearchTermNames; public class ContextNodeFields implements DocumentModifier{ - private Model model; + protected Model model; - private boolean shutdown = false; - private static ExecutorService threadPool = null; - private static final int THREAD_POOL_SIZE = 10; + protected boolean shutdown = false; + protected static ExecutorService threadPool = null; + protected static final int THREAD_POOL_SIZE = 10; - private static final List singleValuedQueriesForAgent = new ArrayList(); - private static final List singleValuedQueriesForInformationResource = new ArrayList(); - private static final List multiValuedQueriesForAgent = new ArrayList(); - private static final String multiValuedQueryForInformationResource; + protected static final List singleValuedQueriesForAgent = new ArrayList(); + protected static final List singleValuedQueriesForInformationResource = new ArrayList(); + protected static final List multiValuedQueriesForAgent = new ArrayList(); + protected static final String multiValuedQueryForInformationResource; - private Log log = LogFactory.getLog(ContextNodeFields.class); + protected Log log = LogFactory.getLog(ContextNodeFields.class); public ContextNodeFields(Model model){ this.model = model; @@ -52,17 +52,24 @@ public class ContextNodeFields implements DocumentModifier{ @Override public void modifyDocument(Individual individual, SolrInputDocument doc, StringBuffer addUri) { - log.debug("retrieving context node values.."); + log.debug("retrieving context node values.."); StringBuffer objectProperties = singleThreadExecute( individual, multiValuedQueriesForAgent); SolrInputField field = doc.getField(VitroSearchTermNames.ALLTEXT); - - field.addValue(objectProperties + " " + runQuery(individual, multiValuedQueryForInformationResource), field.getBoost()); + if( field == null ){ + doc.addField(VitroSearchTermNames.ALLTEXT, + objectProperties + " " + + runQuery(individual, multiValuedQueryForInformationResource)); + }else{ + field.addValue(objectProperties + " " + + runQuery(individual, multiValuedQueryForInformationResource), + field.getBoost()); + } log.debug("context node values are retrieved"); } - private StringBuffer singleThreadExecute(Individual individual, List queries ){ + protected StringBuffer singleThreadExecute(Individual individual, List queries ){ StringBuffer propertyValues = new StringBuffer(" "); for(String query : queries ){ propertyValues.append(runQuery(individual, query)); @@ -110,7 +117,7 @@ public class ContextNodeFields implements DocumentModifier{ } - private static final String prefix = "prefix owl: " + protected static final String prefix = "prefix owl: " + " prefix vitroDisplay: " + " prefix rdf: " + " prefix core: " diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/solr/SourceInstitution.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/solr/SourceInstitution.java index 14fe07d26..62fd2b841 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/solr/SourceInstitution.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/solr/SourceInstitution.java @@ -25,7 +25,9 @@ public class SourceInstitution implements DocumentModifier { public void modifyDocument(Individual individual, SolrInputDocument doc, StringBuffer addUri) throws SkipIndividualException { - doc.addField(fieldForSiteURL, siteURL); + doc.addField(VitroSearchTermNames.SITE_URL, siteURL); + doc.addField(VitroSearchTermNames.SITE_NAME, siteURL); + doc.addField(fieldForSiteName, siteName); }