From 524c56ba7f00e0f9270503e4c7e1a5ed3f77a260 Mon Sep 17 00:00:00 2001 From: Demian Katz <demian.katz@villanova.edu> Date: Thu, 5 Mar 2020 09:44:10 -0500 Subject: [PATCH] Add option to configure solr backend default field list (#1568) - Also includes change to default fl from "*,score" to "*" since score is unused. --- config/vufind/Search2.ini | 1 + config/vufind/authority.ini | 1 + config/vufind/reserves.ini | 1 + config/vufind/searches.ini | 5 +++++ config/vufind/website.ini | 1 + .../src/VuFind/Search/Factory/AbstractSolrBackendFactory.php | 4 +++- 6 files changed, 12 insertions(+), 1 deletion(-) diff --git a/config/vufind/Search2.ini b/config/vufind/Search2.ini index a1cb2eea47c..62a0493c6cd 100644 --- a/config/vufind/Search2.ini +++ b/config/vufind/Search2.ini @@ -62,6 +62,7 @@ retain_filters_by_default = true ;default_filters[] = "format:Book" ;default_filters[] = "institution:MyInstitution" ;default_filters[] = "(format:Book AND institution:MyInstitution)" +;default_record_fields = "*,score" [Cache] type = File diff --git a/config/vufind/authority.ini b/config/vufind/authority.ini index 71290d9f35c..2300bb1d2a5 100644 --- a/config/vufind/authority.ini +++ b/config/vufind/authority.ini @@ -5,6 +5,7 @@ default_handler = AllFields ; Search handler to use if none is specified default_sort = relevance case_sensitive_bools = true default_side_recommend[] = SideFacets:Facets:CheckboxFacets:authority +;default_record_fields = "*,score" [Basic_Searches] AllFields = "All Fields" diff --git a/config/vufind/reserves.ini b/config/vufind/reserves.ini index 6341d532692..38812f6bbcb 100644 --- a/config/vufind/reserves.ini +++ b/config/vufind/reserves.ini @@ -6,6 +6,7 @@ default_sort = relevance case_sensitive_bools = true default_side_recommend[] = SideFacets:Facets:CheckboxFacets:reserves facet_limit = 20 +;default_record_fields = "*,score" [Basic_Searches] AllFields = "All Fields" diff --git a/config/vufind/searches.ini b/config/vufind/searches.ini index 7bab51898c9..28a1223260b 100644 --- a/config/vufind/searches.ini +++ b/config/vufind/searches.ini @@ -104,6 +104,11 @@ retain_filters_by_default = true ;default_filters[] = "institution:MyInstitution" ;default_filters[] = "(format:Book AND institution:MyInstitution)" +; Default record fields to fetch from Solr when searching (Solr parameter 'fl') +; Default is "*" (since VuFind 7.0). To restore previous setting, just uncomment +; line below. +;default_record_fields = "*,score" + [Cache] ; This controls whether the parsed searchspecs.yaml file will be stored to ; improve search performance; legal options are APC (use APC cache), File (store diff --git a/config/vufind/website.ini b/config/vufind/website.ini index 011fa32cce9..4c41c1959eb 100644 --- a/config/vufind/website.ini +++ b/config/vufind/website.ini @@ -9,6 +9,7 @@ default_side_recommend[] = CatalogResults highlighting = true snippets = true retain_filters_by_default = true +;default_record_fields = "*,score" [Basic_Searches] AllFields = "All Fields" diff --git a/module/VuFind/src/VuFind/Search/Factory/AbstractSolrBackendFactory.php b/module/VuFind/src/VuFind/Search/Factory/AbstractSolrBackendFactory.php index 307b7aa49c7..146dc66ba6b 100644 --- a/module/VuFind/src/VuFind/Search/Factory/AbstractSolrBackendFactory.php +++ b/module/VuFind/src/VuFind/Search/Factory/AbstractSolrBackendFactory.php @@ -339,11 +339,13 @@ abstract class AbstractSolrBackendFactory implements FactoryInterface protected function createConnector() { $config = $this->config->get($this->mainConfig); + $searchConfig = $this->config->get($this->searchConfig); + $defaultFields = $searchConfig->General->default_record_fields ?? '*'; $handlers = [ 'select' => [ 'fallback' => true, - 'defaults' => ['fl' => '*,score'], + 'defaults' => ['fl' => $defaultFields], 'appends' => ['fq' => []], ], 'terms' => [ -- GitLab