From 2941bb7c28d5adc1c5fcdf8ed127b1e19d445fe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Grove=20J=C3=B8rgensen?= Date: Tue, 9 Jan 2018 14:26:48 +0100 Subject: [PATCH 1/6] increase caching to 3 hours --- app/views/catalog/_home_text.html.erb | 2 +- app/views/tree/_show_tree.erb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/views/catalog/_home_text.html.erb b/app/views/catalog/_home_text.html.erb index 6ab49ca..a447f01 100644 --- a/app/views/catalog/_home_text.html.erb +++ b/app/views/catalog/_home_text.html.erb @@ -4,7 +4,7 @@ <% #exhibits.each_slice(3).each do |row| %>
- <% cache("edition-cards-#{get_lang(params)}", expires_in: 1.hour) do %> + <% cache("edition-cards-#{get_lang(params)}", expires_in: 3.hour) do %> <%= render partial: 'edition_card' %> <% end %>
diff --git a/app/views/tree/_show_tree.erb b/app/views/tree/_show_tree.erb index 925e1f6..0252212 100644 --- a/app/views/tree/_show_tree.erb +++ b/app/views/tree/_show_tree.erb @@ -8,11 +8,11 @@ different format for the facets (I think it's bug in Blacklight)--> <% if subject_id %> - <% cache("#{subject_id.gsub('/','#')}-#{get_lang(params)}", expires_in: 1.hour) do %> + <% cache("#{subject_id.gsub('/','#')}-#{get_lang(params)}", expires_in: 3.hour) do %> <%= render :partial => 'tree/tree', locals: {:subject_id => subject_id, :lang => lang, :filter_params_url => filter_params_url} %> <% end %> <% else %> - <% cache("subject-all-#{get_lang(params)}", expires_in: 1.hour) do %> + <% cache("subject-all-#{get_lang(params)}", expires_in: 3.hour) do %> <%= render :partial => 'tree/tree', locals: {:subject_id => "/editions/any/2009/jul/editions", :lang => lang, :filter_params_url => filter_params_url} %> <% end %> <% end %> \ No newline at end of file From 6157447ab01c6988c695b195608758c6f3444966 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Grove=20J=C3=B8rgensen?= Date: Tue, 9 Jan 2018 14:27:43 +0100 Subject: [PATCH 2/6] ignore cached files --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 8665c86..37fe6e7 100644 --- a/.gitignore +++ b/.gitignore @@ -14,8 +14,10 @@ # Ignore all logfiles and tempfiles. /log/* /tmp/* +/cache/* !/log/.keep !/tmp/.keep +!/cache/.keep # Ignore Byebug command history file. .byebug_history From f5175e3b20fa38275752e43b0486a0d2a196ac35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Grove=20J=C3=B8rgensen?= Date: Tue, 9 Jan 2018 14:29:01 +0100 Subject: [PATCH 3/6] ignore cached files - but keep cache dir --- cache/.keep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 cache/.keep diff --git a/cache/.keep b/cache/.keep new file mode 100644 index 0000000..e69de29 From d77de8f13db04533ffcc47a00f25275fa703ccf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Grove=20J=C3=B8rgensen?= Date: Tue, 15 May 2018 14:51:06 +0200 Subject: [PATCH 4/6] better caching --- app/models/finder.rb | 18 +++++++++++------- app/views/tree/_show_tree.erb | 8 ++------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/app/models/finder.rb b/app/models/finder.rb index 3dfe30f..90d1a4d 100644 --- a/app/models/finder.rb +++ b/app/models/finder.rb @@ -7,17 +7,21 @@ def self.get_solr # Function to return the solr document by id def self.get_doc_by_id(id) - query = "id:#{id}" - response = get_solr.get 'select', :params => {:q => query} - # Return the first document - return response['response']['docs'].first + Rails.cache.fetch("document/#{id}", expires_in: 3.hours) do + query = "id:#{id}" + response = get_solr.get 'select', :params => {:q => query} + # Return the first document + response['response']['docs'].first + end end # Function to return the solr documents that are subcategories, searching by id def self.get_subcats_by_id id - query = "parent_ssi:#{id}" # Set the query - response = get_solr.get 'select', :params => {:q => query, :rows => 1000} # Return all the subcategories (by default the rows: 10) - return response['response']['docs'].delete_if { |x| x["id"]=="/images/luftfo/2011/maj/luftfoto/subject203" } # Return all the documents except luftfoto + Rails.cache.fetch("subcats/#{id}", expires_in: 3.hours) do + query = "parent_ssi:#{id}" # Set the query + response = get_solr.get 'select', :params => {:q => query, :rows => 1000} # Return all the subcategories (by default the rows: 10) + response['response']['docs'].delete_if { |x| x["id"]=="/images/luftfo/2011/maj/luftfoto/subject203" } # Return all the documents except luftfoto + end end end diff --git a/app/views/tree/_show_tree.erb b/app/views/tree/_show_tree.erb index 0252212..597c67b 100644 --- a/app/views/tree/_show_tree.erb +++ b/app/views/tree/_show_tree.erb @@ -8,11 +8,7 @@ different format for the facets (I think it's bug in Blacklight)--> <% if subject_id %> - <% cache("#{subject_id.gsub('/','#')}-#{get_lang(params)}", expires_in: 3.hour) do %> - <%= render :partial => 'tree/tree', locals: {:subject_id => subject_id, :lang => lang, :filter_params_url => filter_params_url} %> - <% end %> + <%= render :partial => 'tree/tree', locals: {:subject_id => subject_id, :lang => lang, :filter_params_url => filter_params_url} %> <% else %> - <% cache("subject-all-#{get_lang(params)}", expires_in: 3.hour) do %> - <%= render :partial => 'tree/tree', locals: {:subject_id => "/editions/any/2009/jul/editions", :lang => lang, :filter_params_url => filter_params_url} %> - <% end %> + <%= render :partial => 'tree/tree', locals: {:subject_id => "/editions/any/2009/jul/editions", :lang => lang, :filter_params_url => filter_params_url} %> <% end %> \ No newline at end of file From fe6d7b82ff523b907da57b4e4b4a162f61f9db3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Grove=20J=C3=B8rgensen?= Date: Tue, 15 May 2018 16:03:02 +0200 Subject: [PATCH 5/6] do not use local solr params (the {} thing) --- app/controllers/catalog_controller.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/controllers/catalog_controller.rb b/app/controllers/catalog_controller.rb index 90179e9..51cb0f8 100644 --- a/app/controllers/catalog_controller.rb +++ b/app/controllers/catalog_controller.rb @@ -128,7 +128,7 @@ class CatalogController < ApplicationController config.add_search_field 'all_fields', label: 'Fritekst' do |field| # Free text search in these fields: title, creator, description - field.solr_local_parameters = { + field.solr_parameters = { :qf => 'cobject_title_ssi^100 full_title_tsi^90 creator_tsim^80 description_tsim^50 pub_dat_tsi^40 readable_dat_string_tsim^40 type_tdsim^30 dc_type_ssim^30 subject_tdsim^30 coverage_tdsim^30 local_id_ssi^30 shelf_mark_tdsim^20 subject_topic_facet_tdsim^20 subject_topic_facet_tesim^20 processed_mods_ts^10' } end @@ -139,7 +139,7 @@ class CatalogController < ApplicationController config.add_search_field 'title', label: 'Titel' do |field| - field.solr_local_parameters = { + field.solr_parameters = { qf: 'full_title_tsi', pf: 'full_title_tsi' } @@ -147,7 +147,7 @@ class CatalogController < ApplicationController config.add_search_field 'creator', label: 'Ophav' do |field| - field.solr_local_parameters = { + field.solr_parameters = { qf: 'creator_nasim', pf: 'creator_nasim' } @@ -155,7 +155,7 @@ class CatalogController < ApplicationController config.add_search_field 'person', label: 'Person' do |field| - field.solr_local_parameters = { + field.solr_parameters = { qf: 'cobject_person_tsim', pf: 'cobject_person_tsim' } @@ -163,7 +163,7 @@ class CatalogController < ApplicationController config.add_search_field 'location', label: 'Lokalitet' do |field| - field.solr_local_parameters = { + field.solr_parameters = { qf: 'cobject_location_tsim', pf: 'cobject_location_tsim' } From 3674626c241372596067b13e3e5d96007c12c03b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Grove=20J=C3=B8rgensen?= Date: Tue, 15 May 2018 16:04:08 +0200 Subject: [PATCH 6/6] also search in english subject --- app/controllers/catalog_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/catalog_controller.rb b/app/controllers/catalog_controller.rb index 51cb0f8..b6b27c0 100644 --- a/app/controllers/catalog_controller.rb +++ b/app/controllers/catalog_controller.rb @@ -129,7 +129,7 @@ class CatalogController < ApplicationController config.add_search_field 'all_fields', label: 'Fritekst' do |field| # Free text search in these fields: title, creator, description field.solr_parameters = { - :qf => 'cobject_title_ssi^100 full_title_tsi^90 creator_tsim^80 description_tsim^50 pub_dat_tsi^40 readable_dat_string_tsim^40 type_tdsim^30 dc_type_ssim^30 subject_tdsim^30 coverage_tdsim^30 local_id_ssi^30 shelf_mark_tdsim^20 subject_topic_facet_tdsim^20 subject_topic_facet_tesim^20 processed_mods_ts^10' + :qf => 'cobject_title_ssi^100 full_title_tsi^90 creator_tsim^80 description_tsim^50 pub_dat_tsi^40 readable_dat_string_tsim^40 type_tdsim^30 dc_type_ssim^30 subject_tdsim^30 subject_tesim^30 coverage_tdsim^30 local_id_ssi^30 shelf_mark_tdsim^20 subject_topic_facet_tdsim^20 subject_topic_facet_tesim^20 processed_mods_ts^10' } end