spotlight-dor-resources 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/.travis.yml +0 -2
- data/Rakefile +3 -10
- data/lib/spotlight/dor/indexer.rb +1 -1
- data/lib/spotlight/dor/resources/version.rb +1 -1
- data/spec/lib/spotlight/dor/indexer_spec.rb +4 -3
- data/spec/models/spotlight/resources/purl_spec.rb +4 -2
- data/spec/spec_helper.rb +1 -7
- data/spec/test_app_templates/catalog_controller.rb +35 -35
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +9 -10
- data/spotlight-dor-resources.gemspec +4 -2
- metadata +5 -21
- data/solr_conf/conf/schema.xml +0 -346
- data/solr_conf/conf/solrconfig.xml +0 -180
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 020d6aad248dc730e3ee61896bb5883eb3842350
|
4
|
+
data.tar.gz: 76cd9bc6a57381ce04336628dabe02ea8a00d94b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe9fd0ec3cf1e57b32183e71344d7e483ddb94562e09464d586d2377dfab0070fa8ff3b82b24ffcefd7bd7b16fb062c66721dbdad2c9456e4b394b03c77ac639
|
7
|
+
data.tar.gz: 42fef0ae0264474124e6dffd8eada91b6d463760b40e5a28e1388227a594d2844afb32663de4f1b6d0d6d149b9fc5a379e2413bd3c65da329bdc985cf79d80e5
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/Rakefile
CHANGED
@@ -10,15 +10,6 @@ Bundler::GemHelper.install_tasks
|
|
10
10
|
|
11
11
|
task default: [:ci, :rubocop]
|
12
12
|
|
13
|
-
namespace :spotlight do
|
14
|
-
desc 'Copies the default SOLR config for the bundled Testing Server'
|
15
|
-
task :configure_jetty do
|
16
|
-
FileList['solr_conf/conf/*'].each do |f|
|
17
|
-
cp("#{f}", 'jetty/solr/blacklight-core/conf/', verbose: true)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
13
|
require 'rspec/core/rake_task'
|
23
14
|
RSpec::Core::RakeTask.new(:spec)
|
24
15
|
|
@@ -27,7 +18,9 @@ RuboCop::RakeTask.new(:rubocop)
|
|
27
18
|
|
28
19
|
require 'jettywrapper'
|
29
20
|
require 'engine_cart/rake_task'
|
30
|
-
|
21
|
+
require 'exhibits_solr_conf'
|
22
|
+
desc 'Run tests in generated test Rails app with generated Solr instance running'
|
23
|
+
task ci: ['engine_cart:generate', 'jetty:clean', 'exhibits:configure_solr'] do
|
31
24
|
ENV['environment'] = 'test'
|
32
25
|
jetty_params = Jettywrapper.load_config
|
33
26
|
jetty_params[:startup_wait] = 60
|
@@ -194,7 +194,7 @@ module Spotlight::Dor
|
|
194
194
|
def add_object_full_text(sdb, solr_doc)
|
195
195
|
full_text_urls = object_level_full_text_urls(sdb)
|
196
196
|
return if full_text_urls.size == 0
|
197
|
-
solr_doc['
|
197
|
+
solr_doc['full_text_tesimv'] = full_text_urls.map { |file_url| get_file_content(file_url) }
|
198
198
|
end
|
199
199
|
|
200
200
|
# go grab the supplied file url, grab the file, encode and return
|
@@ -501,6 +501,7 @@ describe Spotlight::Dor::Indexer do
|
|
501
501
|
# rubocop:enable Metrics/LineLength
|
502
502
|
|
503
503
|
describe '#add_object_full_text' do
|
504
|
+
let(:full_text_solr_fname) { 'full_text_tesimv' }
|
504
505
|
before do
|
505
506
|
allow(sdb).to receive(:bare_druid).and_return(fake_druid)
|
506
507
|
end
|
@@ -527,7 +528,7 @@ describe Spotlight::Dor::Indexer do
|
|
527
528
|
allow(subject).to receive(:get_file_content).with(full_file_path).and_return(expected_text)
|
528
529
|
subject.send(:add_object_full_text, sdb, solr_doc)
|
529
530
|
expect(subject.object_level_full_text_urls(sdb)).to eq [full_file_path]
|
530
|
-
expect(solr_doc[
|
531
|
+
expect(solr_doc[full_text_solr_fname]).to eq [expected_text]
|
531
532
|
end
|
532
533
|
it 'does not index the full text if no recognized pattern is found' do
|
533
534
|
public_xml_with_no_recognized_full_text = Nokogiri::XML <<-EOF
|
@@ -547,7 +548,7 @@ describe Spotlight::Dor::Indexer do
|
|
547
548
|
allow(sdb).to receive(:public_xml).and_return(public_xml_with_no_recognized_full_text)
|
548
549
|
subject.send(:add_object_full_text, sdb, solr_doc)
|
549
550
|
expect(subject.object_level_full_text_urls(sdb)).to eq []
|
550
|
-
expect(solr_doc[
|
551
|
+
expect(solr_doc[full_text_solr_fname]).to be_nil
|
551
552
|
end
|
552
553
|
it 'indexes the full text from two files if two recognized patterns are found' do
|
553
554
|
public_xml_with_two_recognized_full_text_files = Nokogiri::XML <<-EOF
|
@@ -570,7 +571,7 @@ describe Spotlight::Dor::Indexer do
|
|
570
571
|
allow(subject).to receive(:get_file_content).with(full_file_path).and_return(expected_text)
|
571
572
|
subject.send(:add_object_full_text, sdb, solr_doc)
|
572
573
|
expect(subject.object_level_full_text_urls(sdb)).to eq [full_file_path, full_file_path]
|
573
|
-
expect(solr_doc[
|
574
|
+
expect(solr_doc[full_text_solr_fname]).to eq [expected_text, expected_text] # same file twice in a 2 element array
|
574
575
|
end
|
575
576
|
end # add_object_full_text
|
576
577
|
end
|
@@ -66,11 +66,13 @@ describe Spotlight::Resources::Purl do
|
|
66
66
|
end
|
67
67
|
|
68
68
|
it 'adds a document to solr' do
|
69
|
-
solr_data = [{ spotlight_resource_id_ssim:
|
69
|
+
solr_data = [{ spotlight_resource_id_ssim: subject.to_global_id,
|
70
|
+
spotlight_resource_type_ssim: 'spotlight/resources/purls',
|
71
|
+
upstream: true }]
|
70
72
|
expect(blacklight_solr).to receive(:update).with(params: { commitWithin: 500 },
|
71
73
|
data: solr_data.to_json,
|
72
74
|
headers: { 'Content-Type' => 'application/json' })
|
73
|
-
expect(subject).to receive(:
|
75
|
+
expect(subject).to receive(:commit)
|
74
76
|
subject.reindex
|
75
77
|
end
|
76
78
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
ENV["RAILS_ENV"] ||= 'test'
|
2
2
|
|
3
|
-
require 'factory_girl'
|
4
3
|
require 'database_cleaner'
|
5
4
|
require 'devise'
|
6
5
|
require 'engine_cart'
|
@@ -8,9 +7,7 @@ require 'vcr'
|
|
8
7
|
EngineCart.load_application!
|
9
8
|
|
10
9
|
require 'rspec/rails'
|
11
|
-
require 'capybara
|
12
|
-
Capybara.javascript_driver = :poltergeist
|
13
|
-
Capybara.default_max_wait_time = 5
|
10
|
+
require 'capybara'
|
14
11
|
|
15
12
|
if ENV["COVERAGE"] or ENV["CI"]
|
16
13
|
require 'simplecov'
|
@@ -27,9 +24,6 @@ require 'spotlight'
|
|
27
24
|
|
28
25
|
Dir["./spec/support/**/*.rb"].sort.each {|f| require f}
|
29
26
|
|
30
|
-
FactoryGirl.definition_file_paths = [File.expand_path("../factories", __FILE__)]
|
31
|
-
FactoryGirl.find_definitions
|
32
|
-
|
33
27
|
VCR.configure do |config|
|
34
28
|
config.cassette_library_dir = "spec/vcr_cassettes"
|
35
29
|
config.hook_into :webmock
|
@@ -8,20 +8,20 @@ class CatalogController < ApplicationController
|
|
8
8
|
configure_blacklight do |config|
|
9
9
|
## Default parameters to send to solr for all search-like requests. See also SolrHelper#solr_search_params
|
10
10
|
config.default_solr_params = {
|
11
|
-
:
|
12
|
-
:
|
13
|
-
:
|
11
|
+
qt: 'search',
|
12
|
+
rows: 10,
|
13
|
+
fl: '*'
|
14
14
|
}
|
15
15
|
|
16
16
|
## Default parameters to send on single-document requests to Solr. These settings are the Blackligt defaults (see SolrHelper#solr_doc_params) or
|
17
17
|
## parameters included in the Blacklight-jetty document requestHandler.
|
18
18
|
#
|
19
19
|
#config.default_document_solr_params = {
|
20
|
-
# :
|
20
|
+
# qt: 'document',
|
21
21
|
# ## These are hard-coded in the blacklight 'document' requestHandler
|
22
|
-
# # :
|
23
|
-
# # :
|
24
|
-
# # :
|
22
|
+
# # fl: '*',
|
23
|
+
# # rows: 1
|
24
|
+
# # q: '{!raw f=id v=$id}'
|
25
25
|
#}
|
26
26
|
|
27
27
|
# solr field configuration for search results/index views
|
@@ -50,12 +50,12 @@ class CatalogController < ApplicationController
|
|
50
50
|
#
|
51
51
|
# :show may be set to false if you don't want the facet to be drawn in the
|
52
52
|
# facet bar
|
53
|
-
config.add_facet_field 'genre_ssim', :
|
54
|
-
config.add_facet_field 'personal_name_ssm', :
|
55
|
-
config.add_facet_field 'corporate_name_ssm', :
|
56
|
-
config.add_facet_field 'subject_geographic_ssim', :
|
57
|
-
config.add_facet_field 'subject_temporal_ssim', :
|
58
|
-
config.add_facet_field 'language_ssim', :
|
53
|
+
config.add_facet_field 'genre_ssim', label: 'Genre', limit: true
|
54
|
+
config.add_facet_field 'personal_name_ssm', label: 'Personal Names', limit: true
|
55
|
+
config.add_facet_field 'corporate_name_ssm', label: 'Corporate Names', limit: true
|
56
|
+
config.add_facet_field 'subject_geographic_ssim', label: 'Geographic'
|
57
|
+
config.add_facet_field 'subject_temporal_ssim', label: 'Era'
|
58
|
+
config.add_facet_field 'language_ssim', label: 'Language'
|
59
59
|
|
60
60
|
|
61
61
|
# Have BL send all facet field names to Solr, which has been the default
|
@@ -65,32 +65,32 @@ class CatalogController < ApplicationController
|
|
65
65
|
|
66
66
|
# solr fields to be displayed in the index (search results) view
|
67
67
|
# The ordering of the field names is the order of the display
|
68
|
-
config.add_index_field 'language_ssm', :
|
69
|
-
config.add_index_field 'abstract_tesim', :
|
70
|
-
config.add_index_field 'note_mapuse_tesim', :
|
71
|
-
config.add_index_field 'note_source_tesim', :
|
72
|
-
config.add_index_field 'subject_geographic_tesim', :
|
73
|
-
config.add_index_field 'subject_temporal_tesim', :
|
68
|
+
config.add_index_field 'language_ssm', label: 'Language'
|
69
|
+
config.add_index_field 'abstract_tesim', label: 'Abstract'
|
70
|
+
config.add_index_field 'note_mapuse_tesim', label: 'Type'
|
71
|
+
config.add_index_field 'note_source_tesim', label: 'Source'
|
72
|
+
config.add_index_field 'subject_geographic_tesim', label: 'Geographic Subject'
|
73
|
+
config.add_index_field 'subject_temporal_tesim', label: 'Temporal Subject'
|
74
74
|
|
75
75
|
# solr fields to be displayed in the show (single result) view
|
76
76
|
# The ordering of the field names is the order of the display
|
77
|
-
config.add_show_field 'note_phys_desc_tesim', :
|
78
|
-
config.add_show_field 'note_source_tesim', :
|
79
|
-
config.add_show_field 'note_desc_note_tesim', :
|
80
|
-
config.add_show_field 'note_references_tesim', :
|
81
|
-
config.add_show_field 'note_provenance_tesim', :
|
82
|
-
config.add_show_field 'note_page_num_tesim', :
|
83
|
-
config.add_show_field 'subject_geographic_tesim', :
|
84
|
-
config.add_show_field 'subject_temporal_tesim', :
|
85
|
-
config.add_show_field 'personal_name_ssm', :
|
86
|
-
config.add_show_field 'corporate_name_ssm', :
|
77
|
+
config.add_show_field 'note_phys_desc_tesim', label: 'Note'
|
78
|
+
config.add_show_field 'note_source_tesim', label: 'Source'
|
79
|
+
config.add_show_field 'note_desc_note_tesim', label: 'Note'
|
80
|
+
config.add_show_field 'note_references_tesim', label: 'References'
|
81
|
+
config.add_show_field 'note_provenance_tesim', label: 'Provenance'
|
82
|
+
config.add_show_field 'note_page_num_tesim', label: 'Page Number'
|
83
|
+
config.add_show_field 'subject_geographic_tesim', label: 'Geographic Subject'
|
84
|
+
config.add_show_field 'subject_temporal_tesim', label: 'Temporal Subject'
|
85
|
+
config.add_show_field 'personal_name_ssm', label: 'Personal Names'
|
86
|
+
config.add_show_field 'corporate_name_ssm', label: 'Corporate Names'
|
87
87
|
|
88
|
-
config.add_sort_field 'score desc, sort_title_ssi asc', :
|
89
|
-
config.add_sort_field 'sort_title_ssi asc', :
|
90
|
-
config.add_sort_field 'sort_type_ssi asc', :
|
91
|
-
config.add_sort_field 'sort_date_dtsi asc', :
|
92
|
-
config.add_sort_field 'sort_source_ssi asc', :
|
93
|
-
config.add_sort_field 'id asc', :
|
88
|
+
config.add_sort_field 'score desc, sort_title_ssi asc', label: 'Relevance'
|
89
|
+
config.add_sort_field 'sort_title_ssi asc', label: 'Title'
|
90
|
+
config.add_sort_field 'sort_type_ssi asc', label: 'Type'
|
91
|
+
config.add_sort_field 'sort_date_dtsi asc', label: 'Date'
|
92
|
+
config.add_sort_field 'sort_source_ssi asc', label: 'Source'
|
93
|
+
config.add_sort_field 'id asc', label: 'Identifier'
|
94
94
|
end
|
95
95
|
|
96
96
|
end
|
@@ -4,37 +4,36 @@ class TestAppGenerator < Rails::Generators::Base
|
|
4
4
|
source_root File.expand_path("../../../../spec/test_app_templates", __FILE__)
|
5
5
|
|
6
6
|
def add_gems
|
7
|
-
gem 'blacklight'
|
8
|
-
gem "blacklight-spotlight"
|
7
|
+
gem 'blacklight-spotlight'
|
9
8
|
Bundler.with_clean_env do
|
10
|
-
run
|
9
|
+
run 'bundle install --quiet'
|
11
10
|
end
|
12
11
|
end
|
13
12
|
|
14
13
|
def run_blacklight_generator
|
15
|
-
say_status(
|
14
|
+
say_status('warning', 'GENERATING BL', :yellow)
|
16
15
|
generate 'blacklight:install', '--devise --jettywrapper'
|
17
16
|
end
|
18
17
|
|
19
18
|
def run_spotlight_migrations
|
20
|
-
rake
|
21
|
-
rake
|
19
|
+
rake 'spotlight:install:migrations'
|
20
|
+
rake 'db:migrate'
|
22
21
|
end
|
23
22
|
|
24
23
|
def add_spotlight_routes_and_assets
|
25
24
|
# spotlight will provide its own catalog controller.. remove blacklight's to
|
26
25
|
# avoid getting prompted about file conflicts
|
27
|
-
remove_file
|
26
|
+
remove_file 'app/controllers/catalog_controller.rb'
|
28
27
|
|
29
|
-
generate 'spotlight:install'
|
28
|
+
generate 'spotlight:install', '-f --mailer_default_url_host=localhost:3000'
|
30
29
|
end
|
31
30
|
|
32
31
|
def add_catalog_controller
|
33
|
-
copy_file
|
32
|
+
copy_file 'catalog_controller.rb', 'app/controllers/catalog_controller.rb', force: true
|
34
33
|
end
|
35
34
|
|
36
35
|
def configure_gdor
|
37
|
-
copy_file
|
36
|
+
copy_file 'gdor.yml', 'config/gdor.yml', force: true
|
38
37
|
end
|
39
38
|
|
40
39
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
|
4
5
|
require 'spotlight/dor/resources/version'
|
5
6
|
|
6
7
|
Gem::Specification.new do |spec|
|
@@ -17,6 +18,8 @@ Gem::Specification.new do |spec|
|
|
17
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
19
|
spec.require_paths = ['lib']
|
19
20
|
|
21
|
+
spec.required_ruby_version = '>= 2.2.3' # parallel gem fails with 2.2.2
|
22
|
+
|
20
23
|
spec.add_dependency 'faraday'
|
21
24
|
spec.add_dependency 'solrizer'
|
22
25
|
spec.add_dependency 'gdor-indexer'
|
@@ -30,11 +33,10 @@ Gem::Specification.new do |spec|
|
|
30
33
|
spec.add_development_dependency 'rspec'
|
31
34
|
spec.add_development_dependency 'rspec-rails'
|
32
35
|
spec.add_development_dependency 'capybara'
|
33
|
-
spec.add_development_dependency 'poltergeist', '>= 1.5.0'
|
34
36
|
spec.add_development_dependency 'vcr', '~> 3.0'
|
35
37
|
spec.add_development_dependency 'webmock'
|
36
38
|
spec.add_development_dependency 'jettywrapper'
|
37
39
|
spec.add_development_dependency 'engine_cart', '~> 0.8'
|
38
|
-
spec.add_development_dependency 'factory_girl'
|
39
40
|
spec.add_development_dependency 'database_cleaner'
|
41
|
+
spec.add_development_dependency 'exhibits_solr_conf'
|
40
42
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spotlight-dor-resources
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Beer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -178,20 +178,6 @@ dependencies:
|
|
178
178
|
- - ">="
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: '0'
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: poltergeist
|
183
|
-
requirement: !ruby/object:Gem::Requirement
|
184
|
-
requirements:
|
185
|
-
- - ">="
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
version: 1.5.0
|
188
|
-
type: :development
|
189
|
-
prerelease: false
|
190
|
-
version_requirements: !ruby/object:Gem::Requirement
|
191
|
-
requirements:
|
192
|
-
- - ">="
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
version: 1.5.0
|
195
181
|
- !ruby/object:Gem::Dependency
|
196
182
|
name: vcr
|
197
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -249,7 +235,7 @@ dependencies:
|
|
249
235
|
- !ruby/object:Gem::Version
|
250
236
|
version: '0.8'
|
251
237
|
- !ruby/object:Gem::Dependency
|
252
|
-
name:
|
238
|
+
name: database_cleaner
|
253
239
|
requirement: !ruby/object:Gem::Requirement
|
254
240
|
requirements:
|
255
241
|
- - ">="
|
@@ -263,7 +249,7 @@ dependencies:
|
|
263
249
|
- !ruby/object:Gem::Version
|
264
250
|
version: '0'
|
265
251
|
- !ruby/object:Gem::Dependency
|
266
|
-
name:
|
252
|
+
name: exhibits_solr_conf
|
267
253
|
requirement: !ruby/object:Gem::Requirement
|
268
254
|
requirements:
|
269
255
|
- - ">="
|
@@ -300,8 +286,6 @@ files:
|
|
300
286
|
- lib/spotlight/dor/resources.rb
|
301
287
|
- lib/spotlight/dor/resources/engine.rb
|
302
288
|
- lib/spotlight/dor/resources/version.rb
|
303
|
-
- solr_conf/conf/schema.xml
|
304
|
-
- solr_conf/conf/solrconfig.xml
|
305
289
|
- spec/integration/gdor_integration_spec.rb
|
306
290
|
- spec/lib/spotlight/dor/indexer_spec.rb
|
307
291
|
- spec/models/spotlight/resources/purl_spec.rb
|
@@ -327,7 +311,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
327
311
|
requirements:
|
328
312
|
- - ">="
|
329
313
|
- !ruby/object:Gem::Version
|
330
|
-
version:
|
314
|
+
version: 2.2.3
|
331
315
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
332
316
|
requirements:
|
333
317
|
- - ">="
|
data/solr_conf/conf/schema.xml
DELETED
@@ -1,346 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<schema name="Hydra" version="1.5">
|
3
|
-
<!-- NOTE: various comments and unused configuration possibilities have been purged
|
4
|
-
from this file. Please refer to http://wiki.apache.org/solr/SchemaXml,
|
5
|
-
as well as the default schema file included with Solr -->
|
6
|
-
|
7
|
-
<uniqueKey>id</uniqueKey>
|
8
|
-
|
9
|
-
<fields>
|
10
|
-
<field name="id" type="string" stored="true" indexed="true" multiValued="false" required="true"/>
|
11
|
-
<field name="_version_" type="long" indexed="true" stored="true"/>
|
12
|
-
<field name="timestamp" type="date" indexed="true" stored="true" default="NOW" multiValued="false"/>
|
13
|
-
|
14
|
-
<field name="lat" type="tdouble" stored="true" indexed="true" multiValued="false"/>
|
15
|
-
<field name="lng" type="tdouble" stored="true" indexed="true" multiValued="false"/>
|
16
|
-
<field name="original_pid_tesim" type="pid_text" stored="true" indexed="true" multiValued="true"/>
|
17
|
-
|
18
|
-
<field name="full_title_ng" type="text_en_ng" stored="false" indexed="true" multiValued="true"/>
|
19
|
-
<field name="id_ng" type="text_en_ng" stored="false" indexed="true" multiValued="false"/>
|
20
|
-
|
21
|
-
<!-- NOTE: not all possible Solr field types are represented in the dynamic fields -->
|
22
|
-
|
23
|
-
<!-- text (_t...) -->
|
24
|
-
<!--
|
25
|
-
<dynamicField name="*_ti" type="text" stored="false" indexed="true" multiValued="false"/>
|
26
|
-
<dynamicField name="*_tim" type="text" stored="false" indexed="true" multiValued="true"/>
|
27
|
-
-->
|
28
|
-
<dynamicField name="*_ts" type="text" stored="true" indexed="false" multiValued="false"/>
|
29
|
-
<dynamicField name="*_tsm" type="text" stored="true" indexed="false" multiValued="true"/>
|
30
|
-
<dynamicField name="*_tsi" type="text" stored="true" indexed="true" multiValued="false"/>
|
31
|
-
<dynamicField name="*_tsim" type="text" stored="true" indexed="true" multiValued="true"/>
|
32
|
-
<!--
|
33
|
-
<dynamicField name="*_tiv" type="text" stored="false" indexed="true" multiValued="false" termVectors="true" termPositions="true" termOffsets="true"/>
|
34
|
-
<dynamicField name="*_timv" type="text" stored="false" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
|
35
|
-
-->
|
36
|
-
<dynamicField name="*_tsiv" type="text" stored="true" indexed="true" multiValued="false" termVectors="true" termPositions="true" termOffsets="true"/>
|
37
|
-
<dynamicField name="*_tsimv" type="text" stored="true" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
|
38
|
-
|
39
|
-
<!-- English text (_te...) -->
|
40
|
-
<!--
|
41
|
-
<dynamicField name="*_tei" type="text_en" stored="false" indexed="true" multiValued="false"/>
|
42
|
-
<dynamicField name="*_teim" type="text_en" stored="false" indexed="true" multiValued="true"/>
|
43
|
-
-->
|
44
|
-
<dynamicField name="*_tes" type="text_en" stored="true" indexed="false" multiValued="false"/>
|
45
|
-
<dynamicField name="*_tesm" type="text_en" stored="true" indexed="false" multiValued="true"/>
|
46
|
-
<dynamicField name="*_tesi" type="text_en" stored="true" indexed="true" multiValued="false"/>
|
47
|
-
<dynamicField name="*_tesim" type="text_en" stored="true" indexed="true" multiValued="true"/>
|
48
|
-
<!--
|
49
|
-
<dynamicField name="*_teiv" type="text_en" stored="false" indexed="true" multiValued="false" termVectors="true" termPositions="true" termOffsets="true"/>
|
50
|
-
<dynamicField name="*_teimv" type="text_en" stored="false" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
|
51
|
-
-->
|
52
|
-
<dynamicField name="*_tesiv" type="text_en" stored="true" indexed="true" multiValued="false" termVectors="true" termPositions="true" termOffsets="true"/>
|
53
|
-
<dynamicField name="*_tesimv" type="text_en" stored="true" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
|
54
|
-
|
55
|
-
<!-- string (_s...) -->
|
56
|
-
<!--
|
57
|
-
<dynamicField name="*_si" type="string" stored="false" indexed="true" multiValued="false"/>
|
58
|
-
<dynamicField name="*_sim" type="string" stored="false" indexed="true" multiValued="true"/>
|
59
|
-
-->
|
60
|
-
<dynamicField name="*_ss" type="string" stored="true" indexed="false" multiValued="false"/>
|
61
|
-
<dynamicField name="*_ssm" type="string" stored="true" indexed="false" multiValued="true"/>
|
62
|
-
<dynamicField name="*_ssi" type="string" stored="true" indexed="true" multiValued="false"/>
|
63
|
-
<dynamicField name="*_ssim" type="string" stored="true" indexed="true" multiValued="true"/>
|
64
|
-
<!--
|
65
|
-
<dynamicField name="*_ssort" type="alphaSort" stored="false" indexed="true" multiValued="false"/>
|
66
|
-
-->
|
67
|
-
|
68
|
-
<!-- integer (_i...) -->
|
69
|
-
<!--
|
70
|
-
<dynamicField name="*_ii" type="int" stored="false" indexed="true" multiValued="false"/>
|
71
|
-
<dynamicField name="*_iim" type="int" stored="false" indexed="true" multiValued="true"/>
|
72
|
-
-->
|
73
|
-
<dynamicField name="*_is" type="int" stored="true" indexed="false" multiValued="false"/>
|
74
|
-
<dynamicField name="*_ism" type="int" stored="true" indexed="false" multiValued="true"/>
|
75
|
-
<dynamicField name="*_isi" type="int" stored="true" indexed="true" multiValued="false"/>
|
76
|
-
<dynamicField name="*_isim" type="int" stored="true" indexed="true" multiValued="true"/>
|
77
|
-
|
78
|
-
<!-- trie integer (_it...) (for faster range queries) -->
|
79
|
-
<!--
|
80
|
-
<dynamicField name="*_iti" type="tint" stored="false" indexed="true" multiValued="false"/>
|
81
|
-
<dynamicField name="*_itim" type="tint" stored="false" indexed="true" multiValued="true"/>
|
82
|
-
-->
|
83
|
-
<dynamicField name="*_its" type="tint" stored="true" indexed="false" multiValued="false"/>
|
84
|
-
<dynamicField name="*_itsm" type="tint" stored="true" indexed="false" multiValued="true"/>
|
85
|
-
<dynamicField name="*_itsi" type="tint" stored="true" indexed="true" multiValued="false"/>
|
86
|
-
<dynamicField name="*_itsim" type="tint" stored="true" indexed="true" multiValued="true"/>
|
87
|
-
|
88
|
-
<!-- date (_dt...) -->
|
89
|
-
<!-- The format for this date field is of the form 1995-12-31T23:59:59Z
|
90
|
-
Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z -->
|
91
|
-
<!--
|
92
|
-
<dynamicField name="*_dti" type="date" stored="false" indexed="true" multiValued="false"/>
|
93
|
-
<dynamicField name="*_dtim" type="date" stored="false" indexed="true" multiValued="true"/>
|
94
|
-
-->
|
95
|
-
<dynamicField name="*_dts" type="date" stored="true" indexed="false" multiValued="false"/>
|
96
|
-
<dynamicField name="*_dtsm" type="date" stored="true" indexed="false" multiValued="true"/>
|
97
|
-
<dynamicField name="*_dtsi" type="date" stored="true" indexed="true" multiValued="false"/>
|
98
|
-
<dynamicField name="*_dtsim" type="date" stored="true" indexed="true" multiValued="true"/>
|
99
|
-
|
100
|
-
<!-- trie date (_dtt...) (for faster range queries) -->
|
101
|
-
<!--
|
102
|
-
<dynamicField name="*_dtti" type="tdate" stored="false" indexed="true" multiValued="false"/>
|
103
|
-
<dynamicField name="*_dttim" type="tdate" stored="false" indexed="true" multiValued="true"/>
|
104
|
-
-->
|
105
|
-
<dynamicField name="*_dtts" type="tdate" stored="true" indexed="false" multiValued="false"/>
|
106
|
-
<dynamicField name="*_dttsm" type="tdate" stored="true" indexed="false" multiValued="true"/>
|
107
|
-
<dynamicField name="*_dttsi" type="tdate" stored="true" indexed="true" multiValued="false"/>
|
108
|
-
<dynamicField name="*_dttsim" type="tdate" stored="true" indexed="true" multiValued="true"/>
|
109
|
-
|
110
|
-
<!-- long (_l...) -->
|
111
|
-
<!--
|
112
|
-
<dynamicField name="*_li" type="long" stored="false" indexed="true" multiValued="false"/>
|
113
|
-
<dynamicField name="*_lim" type="long" stored="false" indexed="true" multiValued="true"/>
|
114
|
-
-->
|
115
|
-
<dynamicField name="*_ls" type="long" stored="true" indexed="false" multiValued="false"/>
|
116
|
-
<dynamicField name="*_lsm" type="long" stored="true" indexed="false" multiValued="true"/>
|
117
|
-
<dynamicField name="*_lsi" type="long" stored="true" indexed="true" multiValued="false"/>
|
118
|
-
<dynamicField name="*_lsim" type="long" stored="true" indexed="true" multiValued="true"/>
|
119
|
-
|
120
|
-
<!-- trie long (_lt...) (for faster range queries) -->
|
121
|
-
<!--
|
122
|
-
<dynamicField name="*_lti" type="tlong" stored="false" indexed="true" multiValued="false"/>
|
123
|
-
<dynamicField name="*_ltim" type="tlong" stored="false" indexed="true" multiValued="true"/>
|
124
|
-
-->
|
125
|
-
<dynamicField name="*_lts" type="tlong" stored="true" indexed="false" multiValued="false"/>
|
126
|
-
<dynamicField name="*_ltsm" type="tlong" stored="true" indexed="false" multiValued="true"/>
|
127
|
-
<dynamicField name="*_ltsi" type="tlong" stored="true" indexed="true" multiValued="false"/>
|
128
|
-
<dynamicField name="*_ltsim" type="tlong" stored="true" indexed="true" multiValued="true"/>
|
129
|
-
|
130
|
-
<!-- double (_db...) -->
|
131
|
-
<!--
|
132
|
-
<dynamicField name="*_dbi" type="double" stored="false" indexed="true" multiValued="false"/>
|
133
|
-
<dynamicField name="*_dbim" type="double" stored="false" indexed="true" multiValued="true"/>
|
134
|
-
-->
|
135
|
-
<dynamicField name="*_dbs" type="double" stored="true" indexed="false" multiValued="false"/>
|
136
|
-
<dynamicField name="*_dbsm" type="double" stored="true" indexed="false" multiValued="true"/>
|
137
|
-
<dynamicField name="*_dbsi" type="double" stored="true" indexed="true" multiValued="false"/>
|
138
|
-
<dynamicField name="*_dbsim" type="double" stored="true" indexed="true" multiValued="true"/>
|
139
|
-
|
140
|
-
<!-- trie double (_dbt...) (for faster range queries) -->
|
141
|
-
<!--
|
142
|
-
<dynamicField name="*_dbti" type="tdouble" stored="false" indexed="true" multiValued="false"/>
|
143
|
-
<dynamicField name="*_dbtim" type="tdouble" stored="false" indexed="true" multiValued="true"/>
|
144
|
-
-->
|
145
|
-
<dynamicField name="*_dbts" type="tdouble" stored="true" indexed="false" multiValued="false"/>
|
146
|
-
<dynamicField name="*_dbtsm" type="tdouble" stored="true" indexed="false" multiValued="true"/>
|
147
|
-
<dynamicField name="*_dbtsi" type="tdouble" stored="true" indexed="true" multiValued="false"/>
|
148
|
-
<dynamicField name="*_dbtsim" type="tdouble" stored="true" indexed="true" multiValued="true"/>
|
149
|
-
|
150
|
-
<!-- float (_f...) -->
|
151
|
-
<!--
|
152
|
-
<dynamicField name="*_fi" type="float" stored="false" indexed="true" multiValued="false"/>
|
153
|
-
<dynamicField name="*_fim" type="float" stored="false" indexed="true" multiValued="true"/>
|
154
|
-
-->
|
155
|
-
<dynamicField name="*_fs" type="float" stored="true" indexed="false" multiValued="false"/>
|
156
|
-
<dynamicField name="*_fsm" type="float" stored="true" indexed="false" multiValued="true"/>
|
157
|
-
<dynamicField name="*_fsi" type="float" stored="true" indexed="true" multiValued="false"/>
|
158
|
-
<dynamicField name="*_fsim" type="float" stored="true" indexed="true" multiValued="true"/>
|
159
|
-
|
160
|
-
<!-- trie float (_ft...) (for faster range queries) -->
|
161
|
-
<!--
|
162
|
-
<dynamicField name="*_fti" type="tfloat" stored="false" indexed="true" multiValued="false"/>
|
163
|
-
<dynamicField name="*_ftim" type="tfloat" stored="false" indexed="true" multiValued="true"/>
|
164
|
-
-->
|
165
|
-
<dynamicField name="*_fts" type="tfloat" stored="true" indexed="false" multiValued="false"/>
|
166
|
-
<dynamicField name="*_ftsm" type="tfloat" stored="true" indexed="false" multiValued="true"/>
|
167
|
-
<dynamicField name="*_ftsi" type="tfloat" stored="true" indexed="true" multiValued="false"/>
|
168
|
-
<dynamicField name="*_ftsim" type="tfloat" stored="true" indexed="true" multiValued="true"/>
|
169
|
-
|
170
|
-
<!-- boolean (_b...) -->
|
171
|
-
<!--
|
172
|
-
<dynamicField name="*_bi" type="boolean" stored="false" indexed="true" multiValued="false"/>
|
173
|
-
-->
|
174
|
-
<dynamicField name="*_bs" type="boolean" stored="true" indexed="false" multiValued="false"/>
|
175
|
-
<dynamicField name="*_bsi" type="boolean" stored="true" indexed="true" multiValued="false"/>
|
176
|
-
|
177
|
-
<!-- Type used to index the lat and lon components for the "location" FieldType -->
|
178
|
-
<!--
|
179
|
-
<dynamicField name="*_coordinate" type="tdouble" indexed="true" stored="false" />
|
180
|
-
-->
|
181
|
-
|
182
|
-
<!-- location (_ll...) -->
|
183
|
-
<!--
|
184
|
-
<dynamicField name="*_lli" type="location" stored="false" indexed="true" multiValued="false"/>
|
185
|
-
<dynamicField name="*_llim" type="location" stored="false" indexed="true" multiValued="true"/>
|
186
|
-
-->
|
187
|
-
<dynamicField name="*_lls" type="location" stored="true" indexed="false" multiValued="false"/>
|
188
|
-
<dynamicField name="*_llsm" type="location" stored="true" indexed="false" multiValued="true"/>
|
189
|
-
<dynamicField name="*_llsi" type="location" stored="true" indexed="true" multiValued="false"/>
|
190
|
-
<dynamicField name="*_llsim" type="location" stored="true" indexed="true" multiValued="true"/>
|
191
|
-
|
192
|
-
<!-- you must define copyField source and dest fields explicity or schemaBrowser doesn't work -->
|
193
|
-
<field name="all_text_timv" type="text" stored="false" indexed="true" multiValued="true" termVectors="true" termPositions="true" termOffsets="true"/>
|
194
|
-
|
195
|
-
|
196
|
-
</fields>
|
197
|
-
|
198
|
-
|
199
|
-
<!-- Above, multiple source fields are copied to the [text] field.
|
200
|
-
Another way to map multiple source fields to the same
|
201
|
-
destination field is to use the dynamic field syntax.
|
202
|
-
copyField also supports a maxChars to copy setting. -->
|
203
|
-
|
204
|
-
<copyField source="id" dest="id_ng" maxChars="3000"/>
|
205
|
-
<copyField source="full_title_tesim" dest="full_title_ng" maxChars="3000"/>
|
206
|
-
<copyField source="*_tesim" dest="all_text_timv" maxChars="3000"/>
|
207
|
-
|
208
|
-
<types>
|
209
|
-
<fieldType name="string" class="solr.StrField" sortMissingLast="true" />
|
210
|
-
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
|
211
|
-
<fieldType name="rand" class="solr.RandomSortField" omitNorms="true"/>
|
212
|
-
|
213
|
-
<!-- Default numeric field types. -->
|
214
|
-
<fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/>
|
215
|
-
<fieldType name="float" class="solr.TrieFloatField" precisionStep="0" positionIncrementGap="0"/>
|
216
|
-
<fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
|
217
|
-
<fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0"/>
|
218
|
-
|
219
|
-
<!-- trie numeric field types for faster range queries -->
|
220
|
-
<fieldType name="tint" class="solr.TrieIntField" precisionStep="8" positionIncrementGap="0"/>
|
221
|
-
<fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8" positionIncrementGap="0"/>
|
222
|
-
<fieldType name="tlong" class="solr.TrieLongField" precisionStep="8" positionIncrementGap="0"/>
|
223
|
-
<fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" positionIncrementGap="0"/>
|
224
|
-
|
225
|
-
<!-- The format for this date field is of the form 1995-12-31T23:59:59Z
|
226
|
-
Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z
|
227
|
-
-->
|
228
|
-
<fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/>
|
229
|
-
<!-- A Trie based date field for faster date range queries and date faceting. -->
|
230
|
-
<fieldType name="tdate" class="solr.TrieDateField" precisionStep="6" positionIncrementGap="0"/>
|
231
|
-
|
232
|
-
|
233
|
-
<!-- This point type indexes the coordinates as separate fields (subFields)
|
234
|
-
If subFieldType is defined, it references a type, and a dynamic field
|
235
|
-
definition is created matching *___<typename>. Alternately, if
|
236
|
-
subFieldSuffix is defined, that is used to create the subFields.
|
237
|
-
Example: if subFieldType="double", then the coordinates would be
|
238
|
-
indexed in fields myloc_0___double,myloc_1___double.
|
239
|
-
Example: if subFieldSuffix="_d" then the coordinates would be indexed
|
240
|
-
in fields myloc_0_d,myloc_1_d
|
241
|
-
The subFields are an implementation detail of the fieldType, and end
|
242
|
-
users normally should not need to know about them.
|
243
|
-
-->
|
244
|
-
<fieldType name="point" class="solr.PointType" dimension="2" subFieldSuffix="_d"/>
|
245
|
-
|
246
|
-
<!-- A specialized field for geospatial search. If indexed, this fieldType must not be multivalued. -->
|
247
|
-
<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/>
|
248
|
-
|
249
|
-
<!-- An alternative geospatial field type new to Solr 4. It supports multiValued and polygon shapes.
|
250
|
-
For more information about this and other Spatial fields new to Solr 4, see:
|
251
|
-
http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4
|
252
|
-
-->
|
253
|
-
<fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
|
254
|
-
geo="true" distErrPct="0.025" maxDistErr="0.000009" units="degrees" />
|
255
|
-
|
256
|
-
<fieldType name="text" class="solr.TextField" omitNorms="false">
|
257
|
-
<analyzer>
|
258
|
-
<tokenizer class="solr.ICUTokenizerFactory"/>
|
259
|
-
<filter class="solr.ICUFoldingFilterFactory"/> <!-- NFKC, case folding, diacritics removed -->
|
260
|
-
<filter class="solr.TrimFilterFactory"/>
|
261
|
-
</analyzer>
|
262
|
-
</fieldType>
|
263
|
-
|
264
|
-
<!-- A text field that only splits on whitespace for exact matching of words -->
|
265
|
-
<fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
|
266
|
-
<analyzer>
|
267
|
-
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
268
|
-
<filter class="solr.TrimFilterFactory"/>
|
269
|
-
</analyzer>
|
270
|
-
</fieldType>
|
271
|
-
|
272
|
-
<!-- single token analyzed text, for sorting. Punctuation is significant. -->
|
273
|
-
<fieldtype name="alphaSort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
|
274
|
-
<analyzer>
|
275
|
-
<tokenizer class="solr.KeywordTokenizerFactory" />
|
276
|
-
<filter class="solr.ICUFoldingFilterFactory"/>
|
277
|
-
<filter class="solr.TrimFilterFactory" />
|
278
|
-
</analyzer>
|
279
|
-
</fieldtype>
|
280
|
-
|
281
|
-
<!-- A text field with defaults appropriate for English -->
|
282
|
-
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
|
283
|
-
<analyzer>
|
284
|
-
<tokenizer class="solr.ICUTokenizerFactory"/>
|
285
|
-
<filter class="solr.ICUFoldingFilterFactory"/> <!-- NFKC, case folding, diacritics removed -->
|
286
|
-
<filter class="solr.EnglishPossessiveFilterFactory"/>
|
287
|
-
<!-- EnglishMinimalStemFilterFactory is less aggressive than PorterStemFilterFactory: -->
|
288
|
-
<filter class="solr.EnglishMinimalStemFilterFactory"/>
|
289
|
-
<!--
|
290
|
-
<filter class="solr.PorterStemFilterFactory"/>
|
291
|
-
-->
|
292
|
-
<filter class="solr.TrimFilterFactory"/>
|
293
|
-
</analyzer>
|
294
|
-
</fieldType>
|
295
|
-
|
296
|
-
<!-- A text field with defaults appropriate for English an NGrams -->
|
297
|
-
<fieldType name="text_en_ng" class="solr.TextField" positionIncrementGap="100">
|
298
|
-
<analyzer type="index">
|
299
|
-
<tokenizer class="solr.ICUTokenizerFactory"/>
|
300
|
-
<filter class="solr.ICUFoldingFilterFactory"/> <!-- NFKC, case folding, diacritics removed -->
|
301
|
-
<filter class="solr.EnglishPossessiveFilterFactory"/>
|
302
|
-
<!-- EnglishMinimalStemFilterFactory is less aggressive than PorterStemFilterFactory: -->
|
303
|
-
<filter class="solr.EnglishMinimalStemFilterFactory"/>
|
304
|
-
<filter class="solr.TrimFilterFactory"/>
|
305
|
-
<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="15" side="front"/>:
|
306
|
-
</analyzer>
|
307
|
-
|
308
|
-
<analyzer type="index">
|
309
|
-
<tokenizer class="solr.ICUTokenizerFactory"/>
|
310
|
-
<filter class="solr.ICUFoldingFilterFactory"/> <!-- NFKC, case folding, diacritics removed -->
|
311
|
-
<filter class="solr.EnglishPossessiveFilterFactory"/>
|
312
|
-
<!-- EnglishMinimalStemFilterFactory is less aggressive than PorterStemFilterFactory: -->
|
313
|
-
<filter class="solr.EnglishMinimalStemFilterFactory"/>
|
314
|
-
<filter class="solr.TrimFilterFactory"/>
|
315
|
-
</analyzer>
|
316
|
-
</fieldType>
|
317
|
-
|
318
|
-
<fieldType name="pid_text" class="solr.TextField" positionIncrementGap="100">
|
319
|
-
<analyzer>
|
320
|
-
<tokenizer class="solr.KeywordTokenizerFactory"/>
|
321
|
-
</analyzer>
|
322
|
-
</fieldType>
|
323
|
-
|
324
|
-
<!-- queries for paths match documents at that path, or in descendent paths -->
|
325
|
-
<fieldType name="descendent_path" class="solr.TextField">
|
326
|
-
<analyzer type="index">
|
327
|
-
<tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" />
|
328
|
-
</analyzer>
|
329
|
-
<analyzer type="query">
|
330
|
-
<tokenizer class="solr.KeywordTokenizerFactory" />
|
331
|
-
</analyzer>
|
332
|
-
</fieldType>
|
333
|
-
|
334
|
-
<!-- queries for paths match documents at that path, or in ancestor paths -->
|
335
|
-
<fieldType name="ancestor_path" class="solr.TextField">
|
336
|
-
<analyzer type="index">
|
337
|
-
<tokenizer class="solr.KeywordTokenizerFactory" />
|
338
|
-
</analyzer>
|
339
|
-
<analyzer type="query">
|
340
|
-
<tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" />
|
341
|
-
</analyzer>
|
342
|
-
</fieldType>
|
343
|
-
|
344
|
-
</types>
|
345
|
-
|
346
|
-
</schema>
|
@@ -1,180 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8" ?>
|
2
|
-
<config>
|
3
|
-
<!-- NOTE: various comments and unused configuration possibilities have been purged
|
4
|
-
from this file. Please refer to http://wiki.apache.org/solr/SolrConfigXml,
|
5
|
-
as well as the default solrconfig file included with Solr -->
|
6
|
-
|
7
|
-
<abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>
|
8
|
-
|
9
|
-
<luceneMatchVersion>LUCENE_40</luceneMatchVersion>
|
10
|
-
|
11
|
-
<directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.StandardDirectoryFactory}"/>
|
12
|
-
|
13
|
-
<updateHandler class="solr.DirectUpdateHandler2">
|
14
|
-
<updateLog>
|
15
|
-
<str name="dir">${solr.core0.data.dir:}</str>
|
16
|
-
</updateLog>
|
17
|
-
</updateHandler>
|
18
|
-
|
19
|
-
<!-- solr lib dirs -->
|
20
|
-
<lib dir="../lib/contrib/analysis-extras/lib" />
|
21
|
-
<lib dir="../lib/contrib/analysis-extras/lucene-libs" />
|
22
|
-
|
23
|
-
<dataDir>${solr.data.dir:}</dataDir>
|
24
|
-
|
25
|
-
<requestHandler name="search" class="solr.SearchHandler" default="true">
|
26
|
-
<!-- default values for query parameters can be specified, these
|
27
|
-
will be overridden by parameters in the request
|
28
|
-
-->
|
29
|
-
<lst name="defaults">
|
30
|
-
<str name="defType">edismax</str>
|
31
|
-
<str name="echoParams">explicit</str>
|
32
|
-
<str name="q.alt">*:*</str>
|
33
|
-
<str name="mm">2<-1 5<-2 6<90%</str>
|
34
|
-
<int name="qs">1</int>
|
35
|
-
<int name="ps">2</int>
|
36
|
-
<float name="tie">0.01</float>
|
37
|
-
<!-- this qf and pf are used by default, if not otherwise specified by
|
38
|
-
client. The default blacklight_config will use these for the
|
39
|
-
"keywords" search. See the author_qf/author_pf, title_qf, etc
|
40
|
-
below, which the default blacklight_config will specify for
|
41
|
-
those searches. You may also be interested in:
|
42
|
-
http://wiki.apache.org/solr/LocalParams
|
43
|
-
-->
|
44
|
-
<str name="qf">
|
45
|
-
id
|
46
|
-
full_title_tesim
|
47
|
-
short_title_tesim
|
48
|
-
alternative_title_tesim
|
49
|
-
active_fedora_model_ssi
|
50
|
-
title_tesim
|
51
|
-
author_tesim
|
52
|
-
subject_tesim
|
53
|
-
all_text_timv
|
54
|
-
</str>
|
55
|
-
<str name="pf">
|
56
|
-
all_text_timv^10
|
57
|
-
</str>
|
58
|
-
|
59
|
-
<str name="author_qf">
|
60
|
-
author_tesim
|
61
|
-
</str>
|
62
|
-
<str name="author_pf">
|
63
|
-
</str>
|
64
|
-
<str name="title_qf">
|
65
|
-
title_tesim
|
66
|
-
full_title_tesim
|
67
|
-
short_title_tesim
|
68
|
-
alternative_title_tesim
|
69
|
-
</str>
|
70
|
-
<str name="title_pf">
|
71
|
-
</str>
|
72
|
-
<str name="subject_qf">
|
73
|
-
subject_tesim
|
74
|
-
</str>
|
75
|
-
<str name="subject_pf">
|
76
|
-
</str>
|
77
|
-
|
78
|
-
<str name="fl">
|
79
|
-
*,
|
80
|
-
score
|
81
|
-
</str>
|
82
|
-
|
83
|
-
<str name="facet">true</str>
|
84
|
-
<str name="facet.mincount">1</str>
|
85
|
-
<str name="facet.limit">10</str>
|
86
|
-
<str name="facet.field">active_fedora_model_ssi</str>
|
87
|
-
<str name="facet.field">subject_ssim</str>
|
88
|
-
|
89
|
-
<str name="spellcheck">true</str>
|
90
|
-
<str name="spellcheck.dictionary">default</str>
|
91
|
-
<str name="spellcheck.onlyMorePopular">true</str>
|
92
|
-
<str name="spellcheck.extendedResults">true</str>
|
93
|
-
<str name="spellcheck.collate">false</str>
|
94
|
-
<str name="spellcheck.count">5</str>
|
95
|
-
|
96
|
-
</lst>
|
97
|
-
<arr name="last-components">
|
98
|
-
<str>spellcheck</str>
|
99
|
-
</arr>
|
100
|
-
</requestHandler>
|
101
|
-
|
102
|
-
<requestHandler name="permissions" class="solr.SearchHandler" >
|
103
|
-
<lst name="defaults">
|
104
|
-
<str name="facet">off</str>
|
105
|
-
<str name="echoParams">all</str>
|
106
|
-
<str name="rows">1</str>
|
107
|
-
<str name="q">{!raw f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
|
108
|
-
<str name="fl">
|
109
|
-
id,
|
110
|
-
access_ssim,
|
111
|
-
discover_access_group_ssim,discover_access_person_ssim,
|
112
|
-
read_access_group_ssim,read_access_person_ssim,
|
113
|
-
edit_access_group_ssim,edit_access_person_ssim,
|
114
|
-
depositor_ti,
|
115
|
-
embargo_release_date_dtsi
|
116
|
-
inheritable_access_ssim,
|
117
|
-
inheritable_discover_access_group_ssim,inheritable_discover_access_person_ssim,
|
118
|
-
inheritable_read_access_group_ssim,inheritable_read_access_person_ssim,
|
119
|
-
inheritable_edit_access_group_ssim,inheritable_edit_access_person_ssim,
|
120
|
-
inheritable_embargo_release_date_dtsi
|
121
|
-
</str>
|
122
|
-
</lst>
|
123
|
-
</requestHandler>
|
124
|
-
|
125
|
-
<requestHandler name="standard" class="solr.SearchHandler">
|
126
|
-
<lst name="defaults">
|
127
|
-
<str name="echoParams">explicit</str>
|
128
|
-
<str name="defType">lucene</str>
|
129
|
-
</lst>
|
130
|
-
</requestHandler>
|
131
|
-
|
132
|
-
<!-- for requests to get a single document; use id=666 instead of q=id:666 -->
|
133
|
-
<requestHandler name="document" class="solr.SearchHandler" >
|
134
|
-
<lst name="defaults">
|
135
|
-
<str name="echoParams">all</str>
|
136
|
-
<str name="fl">*</str>
|
137
|
-
<str name="rows">1</str>
|
138
|
-
<str name="q">{!raw f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
|
139
|
-
</lst>
|
140
|
-
</requestHandler>
|
141
|
-
|
142
|
-
|
143
|
-
<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
|
144
|
-
<str name="queryAnalyzerFieldType">textSpell</str>
|
145
|
-
<!-- Multiple "Spell Checkers" can be declared and used by this component
|
146
|
-
(e.g. for title_spell field)
|
147
|
-
-->
|
148
|
-
<lst name="spellchecker">
|
149
|
-
<str name="name">default</str>
|
150
|
-
<str name="field">spell</str>
|
151
|
-
<str name="spellcheckIndexDir">./spell</str>
|
152
|
-
<str name="buildOnOptimize">true</str>
|
153
|
-
</lst>
|
154
|
-
</searchComponent>
|
155
|
-
|
156
|
-
<requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" />
|
157
|
-
|
158
|
-
<requestDispatcher handleSelect="true" >
|
159
|
-
<requestParsers enableRemoteStreaming="true" multipartUploadLimitInKB="2048" />
|
160
|
-
</requestDispatcher>
|
161
|
-
|
162
|
-
<requestHandler name="/analysis/field" startup="lazy" class="solr.FieldAnalysisRequestHandler" />
|
163
|
-
<requestHandler name="/update" class="solr.UpdateRequestHandler" />
|
164
|
-
<requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" />
|
165
|
-
|
166
|
-
<requestHandler name="/admin/ping" class="solr.PingRequestHandler">
|
167
|
-
<lst name="invariants">
|
168
|
-
<str name="q">solrpingquery</str>
|
169
|
-
</lst>
|
170
|
-
<lst name="defaults">
|
171
|
-
<str name="echoParams">all</str>
|
172
|
-
</lst>
|
173
|
-
</requestHandler>
|
174
|
-
|
175
|
-
<!-- config for the admin interface -->
|
176
|
-
<admin>
|
177
|
-
<defaultQuery>search</defaultQuery>
|
178
|
-
</admin>
|
179
|
-
|
180
|
-
</config>
|