dspace-api: set search fields in Solr query only if we are interested in the actual search results

This commit is contained in:
Alan Orth
2025-04-13 17:36:35 +03:00
parent 4d67aec3bc
commit 3d133727e9

View File

@@ -861,16 +861,20 @@ public class SolrServiceImpl implements SearchService, IndexingService {
solrQuery.setQuery(query); solrQuery.setQuery(query);
// Add any search fields to our query. This is the limited list if (discoveryQuery.getMaxResults() != 0) {
// of fields that will be returned in the solr result // set search fields in Solr query only if we are interested in the actual search results
for (String fieldName : discoveryQuery.getSearchFields()) {
solrQuery.addField(fieldName); // Add any search fields to our query. This is the limited list
// of fields that will be returned in the solr result
for (String fieldName : discoveryQuery.getSearchFields()) {
solrQuery.addField(fieldName);
}
// Also ensure a few key obj identifier fields are returned with every query
solrQuery.addField(SearchUtils.RESOURCE_TYPE_FIELD);
solrQuery.addField(SearchUtils.RESOURCE_ID_FIELD);
solrQuery.addField(SearchUtils.RESOURCE_UNIQUE_ID);
solrQuery.addField(STATUS_FIELD);
} }
// Also ensure a few key obj identifier fields are returned with every query
solrQuery.addField(SearchUtils.RESOURCE_TYPE_FIELD);
solrQuery.addField(SearchUtils.RESOURCE_ID_FIELD);
solrQuery.addField(SearchUtils.RESOURCE_UNIQUE_ID);
solrQuery.addField(STATUS_FIELD);
if (discoveryQuery.isSpellCheck()) { if (discoveryQuery.isSpellCheck()) {
solrQuery.setParam(SpellingParams.SPELLCHECK_Q, query); solrQuery.setParam(SpellingParams.SPELLCHECK_Q, query);