spotlight-dor-resources 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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>
|