diff --git a/app/services/org_selection/search_service.rb b/app/services/org_selection/search_service.rb index 67aa023c5d..0f3a0aa201 100644 --- a/app/services/org_selection/search_service.rb +++ b/app/services/org_selection/search_service.rb @@ -11,7 +11,7 @@ class << self def search_combined(search_term:) return [] unless search_term.present? && search_term.length > 2 - orgs = local_search(search_term: search_term) + orgs = local_search(search_term: search_term, managed_orgs_only: true) orgs = [] unless orgs.present? # If we got an exact match out of the database then skip the # external searches @@ -62,15 +62,17 @@ def name_without_alias(name:) def expiry expiration = Rails.configuration.x.cache.org_selection_expiration - expiration.present? ? expiration : 1.day + expiration.present? ? expiration : 1.hour end - def local_search(search_term:) + def local_search(search_term:, managed_orgs_only: false) return [] unless search_term.present? - Rails.cache.fetch(['org_selection-local', search_term], expires_in: expiry) do - Org.includes(identifiers: :identifier_scheme) - .search(name_without_alias(name: search_term)).to_a + cache_key = ['org_selection-local', search_term, managed_orgs_only] + Rails.cache.fetch(cache_key, expires_in: expiry) do + scope = Org.includes(identifiers: :identifier_scheme) + scope = scope.where(managed: true) if managed_orgs_only + scope.search(name_without_alias(name: search_term)).to_a end end diff --git a/config/initializers/_dmproadmap.rb b/config/initializers/_dmproadmap.rb index 23b5fcf13c..69ecd4a950 100644 --- a/config/initializers/_dmproadmap.rb +++ b/config/initializers/_dmproadmap.rb @@ -222,7 +222,7 @@ class Application < Rails::Application # ---------------------------------------------------- # # Determines how long to cache results for OrgSelection::SearchService - config.x.cache.org_selection_expiration = 86_400 + config.x.cache.org_selection_expiration = 3600 # Determines how long to cache results for the ResearchProjectsController config.x.cache.research_projects_expiration = 86_400