Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion config/initializers/extensions.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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
Hyrax::SolrQueryService.prepend Extensions::Hyrax::SolrQueryService
end
13 changes: 13 additions & 0 deletions lib/extensions/hyrax/solr_query_service.rb
Original file line number Diff line number Diff line change
@@ -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
18 changes: 13 additions & 5 deletions solr/conf/schema.xml
Original file line number Diff line number Diff line change
Expand Up @@ -133,15 +133,23 @@

<!-- A text field with defaults appropriate for English -->
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<analyzer type="index">
<tokenizer class="solr.ICUTokenizerFactory"/>
<filter class="solr.ICUFoldingFilterFactory"/> <!-- NFKC, case folding, diacritics removed -->
<filter class="solr.EnglishPossessiveFilterFactory"/>
<!-- EnglishMinimalStemFilterFactory is less aggressive than PorterStemFilterFactory: -->
<filter class="solr.EnglishMinimalStemFilterFactory"/>
<!--
<filter class="solr.PorterStemFilterFactory"/>
-->
<!-- <filter class="solr.EnglishMinimalStemFilterFactory"/>-->
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" />
<filter class="solr.NGramFilterFactory" minGramSize="2" maxGramSize="25" />
<filter class="solr.TrimFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.ICUTokenizerFactory"/>
<filter class="solr.ICUFoldingFilterFactory"/>
<filter class="solr.EnglishPossessiveFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" />
<filter class="solr.TrimFilterFactory"/>
</analyzer>
</fieldType>
Expand Down