diff --git a/config/initializers/extensions.rb b/config/initializers/extensions.rb index 025075f..e90fbf6 100644 --- a/config/initializers/extensions.rb +++ b/config/initializers/extensions.rb @@ -4,4 +4,5 @@ # search with wildcard after first 2 characters Qa::Authorities::Collections.prepend Extensions::Qa::Authorities::Collections::CollectionsSearch Qa::Authorities::FindWorks.prepend Extensions::Qa::Authorities::FindWorks::WorksSearch -end \ No newline at end of file + Hyrax::SolrQueryService.prepend Extensions::Hyrax::SolrQueryService +end diff --git a/lib/extensions/hyrax/solr_query_service.rb b/lib/extensions/hyrax/solr_query_service.rb new file mode 100644 index 0000000..1710e1f --- /dev/null +++ b/lib/extensions/hyrax/solr_query_service.rb @@ -0,0 +1,13 @@ +module Extensions + module Hyrax + module SolrQueryService + # Create a raw query clause suitable for sending to solr as an fq element + # @param [String] type The type of query to run. Either 'raw' or 'field' + # @param [String] key + # @param [String] value + def query_clause(type, key, value) + "_query_:\"{!#{type} f=#{key}}#{value.to_s.gsub('"', '\"')}\"" + end + end + end +end diff --git a/solr/conf/schema.xml b/solr/conf/schema.xml index 19697ec..412f153 100644 --- a/solr/conf/schema.xml +++ b/solr/conf/schema.xml @@ -133,15 +133,23 @@ - + - - + + + + + + + + + + + +