blacklight-marc 6.0.0 → 7.0.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.
Files changed (66) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +1 -2
  3. data/.solr_wrapper.yaml +5 -0
  4. data/.travis.yml +9 -11
  5. data/Gemfile +30 -14
  6. data/README.md +29 -8
  7. data/Rakefile +8 -20
  8. data/app/assets/stylesheets/blacklight_marc.scss +4 -6
  9. data/app/helpers/blacklight_marc_helper.rb +5 -4
  10. data/app/models/concerns/blacklight/solr/document/marc.rb +13 -12
  11. data/app/models/concerns/blacklight/solr/document/marc_export.rb +53 -50
  12. data/app/views/bookmarks/_endnote.html.erb +1 -1
  13. data/app/views/bookmarks/_refworks.html.erb +1 -1
  14. data/app/views/catalog/_marc_view.html.erb +4 -4
  15. data/app/views/catalog/endnote.endnote.erb +1 -1
  16. data/app/views/catalog/librarian_view.html.erb +7 -4
  17. data/blacklight-marc.gemspec +12 -12
  18. data/config/routes.rb +1 -1
  19. data/lib/blacklight/marc/catalog.rb +9 -15
  20. data/lib/blacklight/marc/engine.rb +2 -0
  21. data/lib/blacklight/marc/indexer.rb +9 -39
  22. data/lib/blacklight/marc/indexer/formats.rb +13 -15
  23. data/lib/blacklight/marc/routes.rb +2 -39
  24. data/lib/blacklight/marc/routes/marc_viewable.rb +20 -0
  25. data/lib/blacklight/marc/version.rb +1 -1
  26. data/lib/generators/blacklight/marc/install_generator.rb +16 -9
  27. data/lib/generators/blacklight/marc/templates/app/models/marc_indexer.rb +59 -59
  28. data/lib/generators/blacklight/marc/templates/config/translation_maps/callnumber_map.properties +149 -11
  29. data/lib/railties/solr_marc.rake +33 -33
  30. data/solr/conf/_rest_managed.json +3 -0
  31. data/solr/conf/admin-extra.html +31 -0
  32. data/solr/conf/elevate.xml +36 -0
  33. data/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  34. data/solr/conf/protwords.txt +21 -0
  35. data/solr/conf/schema.xml +388 -0
  36. data/solr/conf/scripts.conf +24 -0
  37. data/solr/conf/solrconfig.xml +195 -0
  38. data/solr/conf/spellings.txt +2 -0
  39. data/solr/conf/stopwords.txt +58 -0
  40. data/solr/conf/stopwords_en.txt +58 -0
  41. data/solr/conf/synonyms.txt +31 -0
  42. data/solr/conf/xslt/example.xsl +132 -0
  43. data/solr/conf/xslt/example_atom.xsl +67 -0
  44. data/solr/conf/xslt/example_rss.xsl +66 -0
  45. data/solr/conf/xslt/luke.xsl +337 -0
  46. data/spec/controllers/catalog_controller_spec.rb +11 -6
  47. data/spec/features/bookmarks_spec.rb +2 -1
  48. data/spec/features/search_formats_spec.rb +3 -3
  49. data/spec/integration/solr_document_spec.rb +19 -19
  50. data/spec/lib/blacklight_solr_document_marc_spec.rb +7 -7
  51. data/spec/lib/indexer/dewey_spec.rb +4 -4
  52. data/spec/lib/indexer/formats_spec.rb +9 -1
  53. data/spec/lib/marc_export_spec.rb +46 -46
  54. data/spec/lib/tasks/solr_marc_task_spec.rb +7 -7
  55. data/spec/lib/traject_indexer_spec.rb +6 -2
  56. data/spec/routing/routes_spec.rb +0 -6
  57. data/spec/spec_helper.rb +2 -2
  58. data/spec/test_app_templates/Gemfile.extra +2 -0
  59. data/spec/test_app_templates/lib/generators/test_app_generator.rb +15 -14
  60. data/spec/views/bookmarks/_endnote.html.erb_spec.rb +16 -6
  61. data/spec/views/bookmarks/_refworks.html.erb_spec.rb +17 -7
  62. data/spec/views/catalog/index.atom.builder_spec.rb +12 -17
  63. data/test_support/config/translation_maps/test_formats.properties +3 -1
  64. metadata +85 -60
  65. data/app/helpers/blacklight_bookmarks_helper.rb +0 -3
  66. data/config/jetty.yml +0 -4
@@ -48,15 +48,15 @@ DG = DG - Italy (History)
48
48
  DH = DH - Low Countries (History)
49
49
  DJK = DJK - Eastern Europe (History)
50
50
  DJ = DJ - Netherlands (History)
51
- DK = DK - Russia. Former Soviet Republics. Poland (History)
51
+ DK = DK - Russia. Former Soviet Republics. Poland (History)
52
52
  DL = DL - Scandinavia (History)
53
53
  DP = DP - Spain. Portugal (History)
54
54
  DQ = DQ - Switzerland (History)
55
55
  DR = DR - Balkan Peninsula (History)
56
56
  DS = DS - Asia (History)
57
57
  DT = DT - Africa (History)
58
- DU = DU - Oceanía (History)
59
- DX = DX - Gypsies (History)
58
+ DU = DU - Oceania (History)
59
+ DX = DX - Romanies (History)
60
60
  D = D - World History
61
61
  E = E - History of the Americas (General)
62
62
  F = F - History of the Americas (Local)
@@ -80,7 +80,7 @@ HG = HG - Finance
80
80
  HJ = HJ - Public Finance
81
81
  HM = HM - Sociology
82
82
  HN = HN - Social History & Conditions
83
- HQ = HQ - The Family, Marriage, Woman
83
+ HQ = HQ - The Family, Marriage, Women
84
84
  HS = HS - Societies
85
85
  HT = HT - Communities, Classes, Races
86
86
  HV = HV - Social Pathology, Social & Public Welfare, Criminology
@@ -106,13 +106,54 @@ KB = KB - Religious Law (General)
106
106
  KDC = KDC - Law of Scotland
107
107
  KDE = KDE - Law of Northern Ireland
108
108
  KDG = KDG - Law of Isle of Man, Channel Islands
109
- KDK = KDK - Law of Ireland (EIRE)
109
+ KDK = KDK - Law of Ireland (Eire)
110
110
  KDZ = KDZ - Law of America, North America
111
111
  KD = KD - Law of England & Wales
112
112
  KE = KE - Law of Canada
113
113
  KF = KF - Law of the U.S.
114
+ KGA = KGA - Law of Belize
115
+ KGB = KGB - Law of Costa Rica
116
+ KGC = KGC - Law of El Salvador
117
+ KGD = KGD - Law of Guatemala
118
+ KGE = KGE - Law of Honduras
119
+ KGF = KGF - Law of Mexico
120
+ KGG = KGG - Law of Nicaragua
121
+ KGH = KGH - Law of Panama, Panama Canal Zone
122
+ KGJ = KGJ - Law of West Indies, Caribbean area (General), Anguilla
123
+ KGK = KGK - Law of Antigua and Barbuda, Aruba
124
+ KGL = KGL - Law of Bahamas, Barbados, Bonaire, British Leeward Islands, British Virgin Islands, British West Indies, British Windward Islands
125
+ KGM = KGM - Law of Cayman Islands
126
+ KGN = KGN - Law of Cuba
127
+ KGP = KGP - Law of Curaçao, Dominica
128
+ KGQ = KGQ - Law of Dominican Republic
129
+ KGR = KGR - Law of Dutch Leeward Islands (General), Dutch West Indies (Netherlands Antilles), Dutch Windward Islands (General), French West Indies (General), Grenada, Guadeloupe
130
+ KGS = KGS - Law of Haiti
131
+ KGT = KGT - Law of Jamaica, Martinique, Montserrat
132
+ KGU = KGU - Law of Navassa Islands
133
+ KGV = KGV - Law of Puerto Rico
134
+ KGW = KGW - Law of Saba, Saint Christopher (Saint Kitts), Nevis, and Anguilla, Saint Lucia, Saint Vincent and the Grenadines, Sint Eustatius, Sint Maarten
135
+ KGX = KGX - Law of Trinidad and Tobago
136
+ KGY = KGY - Law of Turks and Caicos Islands
137
+ KGZ = KGZ - Law of Virgin Islands of the United States
114
138
  KG = KG - Law of Latin America, Mexico, Central America, West Indies, Caribbean
115
- KH = KH - South America
139
+ KHA = KHA - Law of Argentina
140
+ KHC = KHC - Law of Bolivia
141
+ KHD = KHD - Law of Brazil
142
+ KHF = KHF - Law of Chile
143
+ KHH = KHH - Law of Colombia
144
+ KHK = KHK - Law of Ecuador
145
+ KHL = KHL - Law of Falkland Islands
146
+ KHM = KHM - Law of French Guiana
147
+ KHN = KHN - Law of Guyana
148
+ KHP = KHP - Law of Paraguay
149
+ KHQ = KHQ - Law of Peru
150
+ KHS = KHS - Law of Surinam
151
+ KHU = KHU - Law of Uruguay
152
+ KHW = KHW - Law of Venezuela
153
+ KH = KH - Law of South America
154
+ KIM = KIM - Indigenous law: Central & South America
155
+ KIN = KIN - Indigenous law: Honduras
156
+ KIP = KIP - Indigenous law: Nicaragua
116
157
  KJA = KJA - Roman Law
117
158
  KJC = KJC - Regional Comparative & Uniform Law
118
159
  KJE = KJE - Regional Organization & Integration
@@ -154,7 +195,7 @@ KLA = KLA - Law of Russia, Soviet Union
154
195
  KLB = KLB - Law of Russia (Federation)
155
196
  KLD = KLD - Law of Armenia (Republic)
156
197
  KLE = KLE - Law of Azerbaijan
157
- KLF = KLF - Law of Belarus
198
+ KLF = KLF - Law of Belarus
158
199
  KLH = KLH - Law of Georgia
159
200
  KLM = KLM - Law of Moldova
160
201
  KLP = KLP - Law of Ukraine
@@ -169,7 +210,7 @@ KMH = KMH - Law of Iran
169
210
  KMJ = KMJ - Law of Iraq
170
211
  KMK = KMK - Law of Israel
171
212
  KML = KML - Law of Jerusalem
172
- KMM = KMM - Law of Jordan
213
+ KMM = KMM - Law of Jordan, West Bank
173
214
  KMN = KMN - Law of Kuwait
174
215
  KMP = KMP - Law of Lebanon
175
216
  KMT = KMT - Law of Saudi Arabia
@@ -185,8 +226,105 @@ KNW = KNW - Law of Indonesia
185
226
  KNX = KNX - Law of Japan
186
227
  KPA = KPA - Law of Korea, South Korea
187
228
  KPC = KPC - Law of Korea, North Korea
188
- KQ = KQ - Law of Africa
189
- KU = KU - Law of the Pacific Area, Australia, New Zealand
229
+ KQG = KQG - Law of Algeria
230
+ KQH = KQH - Law of Angola
231
+ KQJ = KQJ - Law of Benin
232
+ KQK = KQK - Law of Botswana
233
+ KQM = KQM - Law of the British Central Africa Protectorate
234
+ KQP = KQP - Law of British Indian Ocean Territory, British Somaliland
235
+ KQT = KQT - Law of Burkina Faso
236
+ KQV = KQV - Law of Burundi
237
+ KQW = KQW - Law of Cameroon
238
+ KQX = KQX - Law of Cape Verde
239
+ KQ = KQ - Law of Africa (Algeria to Cape Verde)
240
+ KRB = KRB - Law of Central African Republic
241
+ KRC = KRC - Law of Chad
242
+ KRE = KRE - Law of Comoros
243
+ KRG = KRG - Law of Congo
244
+ KRK = KRK - Law of Djibouti
245
+ KRL = KRL - Law of East Africa Protectorate
246
+ KRM = KRM - Law of Egypt
247
+ KRN = KRN - Law of Eritrea
248
+ KRP = KRP - Law of Ethiopia
249
+ KRR = KRR - Law of French Equatorial Africa
250
+ KRS = KRS - Law of French West Africa
251
+ KRU = KRU - Law of Gabon
252
+ KRV = KRV - Law of Gambia
253
+ KRW = KRW - Law of German East Africa
254
+ KRX = KRX - Law of Ghana
255
+ KRY = KRY - Law of Gibraltar
256
+ KR = KR - Law of Africa (Central African Republic to Gibraltar)
257
+ KSA = KSA - Law of Guinea
258
+ KSC = KSC - Law of Guinea-Bissau
259
+ KSE = KSE - Law of Equatorial Guinea, Ifni
260
+ KSG = KSG - Law of Italian East Africa, Italian Somaliland
261
+ KSH = KSH - Law of Ivory Coast
262
+ KSK = KSK - Law of Kenya
263
+ KSL = KSL - Law of Lesotho
264
+ KSN = KSN - Law of Liberia
265
+ KSP = KSP - Law of Libya
266
+ KSR = KSR - Law of Madagascar
267
+ KSS = KSS - Law of Malawi
268
+ KST = KST - Law of Mali
269
+ KSU = KSU - Law of Mauritania
270
+ KSV = KSV - Law of Mauritius
271
+ KSV = KSV - Law of Mayotte
272
+ KSW = KSW - Law of Morocco
273
+ KSX = KSX - Law of Mozambique
274
+ KSY = KSY - Law of Namibia
275
+ KSZ = KSZ - Law of Niger
276
+ KS = KS - Law of Africa (Guinea to Niger)
277
+ KTA = KTA - Law of Nigeria
278
+ KTC = KTC - Law of Réunion
279
+ KTD = KTD - Law of Rwanda
280
+ KTE = KTE - Law of Saint Helena
281
+ KTF = KTF - Law of São Tomé and Principe
282
+ KTG = KTG - Law of Senegal
283
+ KTH = KTH - Law of Seychelles
284
+ KTJ = KTJ - Law of Sierra Leone
285
+ KTK = KTK - Law of Somalia
286
+ KTL = KTL - Law of South Africa, Republic of
287
+ KTN = KTN - Law of Spanish West Africa (to 1958), Spanish Sahara (to 1975)
288
+ KTQ = KTQ - Law of Sudan
289
+ KTR = KTR - Law of Swaziland
290
+ KTT = KTT - Law of Tanzania
291
+ KTU = KTU - Law of Togo
292
+ KTV = KTV - Law of Tunisia
293
+ KTW = KTW - Law of Uganda
294
+ KTX = KTX - Law of Zaire
295
+ KTY = KTY - Law of Zambia, Zanzibar (to 1964)
296
+ KTZ = KTZ - Law of Zimbabwe
297
+ KT = KT - Law of Africa (Nigeria to Zimbabwe)
298
+ KUQ = KUQ - Law of New Zealand
299
+ KU = KU - Law of Australia, Australian territories, New Zealand
300
+ KVB = KVB - Regional Comparative and Uniform Law of Australia and New Zealand
301
+ KVC = KVC - Regional Comparative and Uniform Law of Other Pacific area jurisdictions
302
+ KVE = KVE - Regional organization and integration (Pacific Area)
303
+ KVH = KVH - Law of American Samoa, British New Guinea (Territory of Papua)
304
+ KVL = KVL - Law of Cook Islands
305
+ KVM = KVM - Law of Easter Island
306
+ KVN = KVN - Law of Fiji
307
+ KVP = KVP - Law of French Polynesia
308
+ KVP = KVP - Law of German New Guinea (to 1914)
309
+ KVQ = KVQ - Law of Guam
310
+ KVR = KVR - Law of Kiribati
311
+ KVS = KVS - Law of Marshall Islands
312
+ KVS = KVS - Law of Micronesia (Federated States), Midway Islands
313
+ KVU = KVU - Law of Nauru, Netherlands New Guinea (to 1963)
314
+ KV = KV - Law of Asia and Eurasia, Africa, Pacific Area, and Antarctica
315
+ KVW = KVW - Law of New Caledonia
316
+ KWA = KWA - Law of Niue
317
+ KWC = KWC - Law of Northern Mariana Islands
318
+ KWE = KWE - Law of Pacific Islands (Trust Territory)
319
+ KWG = KWG - Law of Palau
320
+ KWH = KWH - Law of Papua New Guinea
321
+ KWL = KWL - Law of Pitcairn Island
322
+ KWL = KWL - Law of Solomon Islands
323
+ KWP = KWP - Law of Tonga
324
+ KWQ = KWQ - Law of Tuvalu
325
+ KWR = KWR - Law of Vanuatu
326
+ KWT = KWT - Law of Wake Island, Wallis and Futuna Islands
327
+ KWW = KWW - Law of Western Samoa
190
328
  KWX = KWX - Law of Antarctica
191
329
  KZ = KZ - Law of Nations
192
330
  K = K - Law
@@ -230,7 +368,7 @@ PQ = PQ - French, Italian, Spanish & Portuguese Literature
230
368
  PR = PR - English Literature
231
369
  PS = PS - American Literature
232
370
  PT = PT - Germanic & Scandinavian Literatures
233
- PZ = PZ - Childrens Literature
371
+ PZ = PZ - Children's Literature
234
372
  P = P - Language & Literature
235
373
  QA = QA - Mathematics
236
374
  QB = QB - Astronomy
@@ -24,28 +24,28 @@ module SolrMarc
24
24
  end
25
25
  namespace :solr do
26
26
  namespace :marc do
27
-
28
-
27
+
28
+
29
29
  desc "Index the supplied test data into Solr"
30
30
  task :index_test_data => :environment do
31
- # for now we are assuming test data is located in BL source checkout.
31
+ # for now we are assuming test data is located in BL source checkout.
32
32
  ENV['MARC_FILE'] = File.expand_path("../../../test_support/data/test_data.utf8.mrc", __FILE__ )
33
-
34
- # solr_path and solr_war_path will be picked up from
35
- # jetty_path in solr.yml by main work task.
36
-
33
+
34
+ # solr_path and solr_war_path will be picked up from
35
+ # jetty_path in solr.yml by main work task.
36
+
37
37
  Rake::Task[ "solr:marc:index:work" ].invoke
38
38
  end
39
-
39
+
40
40
  desc "Index marc data using SolrMarc. Available environment variables: MARC_RECORDS_PATH, CONFIG_PATH, SOLR_MARC_MEM_ARGS"
41
41
  task :index => "index:work"
42
42
  namespace :index do
43
43
 
44
44
  task :work => :environment do
45
- solrmarc_arguments = compute_arguments
45
+ solrmarc_arguments = compute_arguments
46
46
 
47
47
  # If no marc records given, display :info task
48
- if (ENV["NOOP"] || (!solrmarc_arguments["MARC_FILE"]))
48
+ if (ENV["NOOP"] || (!solrmarc_arguments["MARC_FILE"]))
49
49
  Rake::Task[ "solr:marc:index:info" ].execute
50
50
  else
51
51
  require './app/models/marc_indexer' unless defined?(MarcIndexer)
@@ -53,29 +53,29 @@ namespace :solr do
53
53
  SolrMarc.indexer.process(io)
54
54
  end
55
55
  end
56
-
56
+
57
57
  end # work
58
-
58
+
59
59
  desc "Shows more info about the solr:marc:index task."
60
60
  task :info do
61
61
  solrmarc_arguments = compute_arguments
62
62
  puts <<-EOS
63
- Solr to write to is taken from current environment in config/solr.yml,
63
+ Solr to write to is taken from current environment in config/solr.yml,
64
64
  key :replicate_master_url is supported, taking precedence over :url
65
- for where to write to.
66
-
65
+ for where to write to.
66
+
67
67
  Possible environment variables, with settings as invoked. You can set these
68
68
  variables on the command line, eg:
69
69
  rake solr:marc:index MARC_FILE=/some/file.mrc
70
-
70
+
71
71
  MARC_FILE: #{solrmarc_arguments["MARC_FILE"] || "[marc records path needed]"}
72
-
72
+
73
73
  CONFIG_PATH: #{solrmarc_arguments[:config_properties_path]}
74
74
  Defaults to RAILS_ROOT/config/SolrMarc/config(-RAILS_ENV).properties
75
75
  or else RAILS_ROOT/vendor/plugins/blacklight/SolrMarc/config ...
76
76
 
77
77
  Note that SolrMarc search path includes directory of config_path,
78
- so translation_maps and index_scripts dirs will be found there.
78
+ so translation_maps and index_scripts dirs will be found there.
79
79
  EOS
80
80
  end
81
81
  end # index
@@ -85,14 +85,14 @@ end # :solr
85
85
  # Computes arguments to Solr, returns hash
86
86
  # Calculate default args based on location of rake file itself,
87
87
  # which we assume to be in the plugin, or in the Rails executing
88
- # this rake task, at RAILS_ROOT.
88
+ # this rake task, at RAILS_ROOT.
89
89
  def compute_arguments
90
-
90
+
91
91
  arguments = {}
92
92
 
93
93
  arguments["MARC_FILE"] = ENV["MARC_FILE"]
94
94
 
95
-
95
+
96
96
  arguments[:config_properties_path] = ENV['CONFIG_PATH']
97
97
 
98
98
 
@@ -112,39 +112,39 @@ def compute_arguments
112
112
  end
113
113
  end
114
114
  end
115
-
115
+
116
116
  #java mem arg is from env, or default
117
117
 
118
118
  arguments[:solrmarc_mem_arg] = ENV['SOLRMARC_MEM_ARGS'] || '-Xmx512m'
119
-
119
+
120
120
  # SolrMarc is embedded in the plugin, or could be a custom
121
- # one in local app.
122
- arguments[:solrmarc_jar_path] = ENV['SOLRMARC_JAR_PATH'] || locate_path("lib", "SolrMarc.jar")
123
-
121
+ # one in local app.
122
+ arguments[:solrmarc_jar_path] = ENV['SOLRMARC_JAR_PATH'] || locate_path("lib", "SolrMarc.jar")
123
+
124
+
124
125
 
125
-
126
126
  # solrmarc.solr.war.path and solr.path, for now pull out of ENV
127
- # if present. In progress. jrochkind 25 Apr 2011.
127
+ # if present. In progress. jrochkind 25 Apr 2011.
128
128
  arguments[:solr_war_path] = ENV["SOLR_WAR_PATH"] if ENV["SOLR_WAR_PATH"]
129
129
  arguments[:solr_path] = ENV['SOLR_PATH'] if ENV['SOLR_PATH']
130
130
 
131
131
  # Solr URL, find from solr.yml, app or plugin
132
132
  # use :replicate_master_url for current env if present, otherwise :url
133
- # for current env.
134
- # Also take jetty_path from there if present.
133
+ # for current env.
134
+ # Also take jetty_path from there if present.
135
135
  if c = Blacklight.connection_config
136
- arguments[:solr_url] = c[:url]
136
+ arguments[:solr_url] = c[:url]
137
137
  if c[:jetty_path]
138
138
  arguments[:solr_path] ||= File.expand_path(File.join(c[:jetty_path], "solr"), Rails.root)
139
139
  arguments[:solr_war_path] ||= File.expand_path(File.join(c[:jetty_path], "webapps", "solr.war"), Rails.root)
140
140
  end
141
141
  end
142
-
142
+
143
143
  return arguments
144
144
  end
145
145
 
146
146
  def locate_path(*subpath_fragments)
147
- local_root = File.expand_path File.join(File.dirname(__FILE__), '..', '..')
147
+ local_root = File.expand_path File.join(File.dirname(__FILE__), '..', '..')
148
148
  subpath = subpath_fragments.join('/')
149
149
  base_match = [Rails.root, local_root].find do |base|
150
150
  File.exists? File.join(base, subpath)
@@ -0,0 +1,3 @@
1
+ {
2
+ "initArgs":{},
3
+ "managedList":[]}
@@ -0,0 +1,31 @@
1
+ <!--
2
+ Licensed to the Apache Software Foundation (ASF) under one or more
3
+ contributor license agreements. See the NOTICE file distributed with
4
+ this work for additional information regarding copyright ownership.
5
+ The ASF licenses this file to You under the Apache License, Version 2.0
6
+ (the "License"); you may not use this file except in compliance with
7
+ the License. You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
16
+ -->
17
+
18
+ <!-- The content of this page will be statically included into the top
19
+ of the admin page. Uncomment this as an example to see there the content
20
+ will show up.
21
+
22
+ <hr>
23
+ <i>This line will appear before the first table</i>
24
+ <tr>
25
+ <td colspan="2">
26
+ This row will be appended to the end of the first table
27
+ </td>
28
+ </tr>
29
+ <hr>
30
+
31
+ -->
@@ -0,0 +1,36 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!--
3
+ Licensed to the Apache Software Foundation (ASF) under one or more
4
+ contributor license agreements. See the NOTICE file distributed with
5
+ this work for additional information regarding copyright ownership.
6
+ The ASF licenses this file to You under the Apache License, Version 2.0
7
+ (the "License"); you may not use this file except in compliance with
8
+ the License. You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ See the License for the specific language governing permissions and
16
+ limitations under the License.
17
+ -->
18
+
19
+ <!-- If this file is found in the config directory, it will only be
20
+ loaded once at startup. If it is found in Solr's data
21
+ directory, it will be re-loaded every commit.
22
+ -->
23
+
24
+ <elevate>
25
+ <query text="foo bar">
26
+ <doc id="1" />
27
+ <doc id="2" />
28
+ <doc id="3" />
29
+ </query>
30
+
31
+ <query text="ipod">
32
+ <doc id="MA147LL/A" /> <!-- put the actual ipod at the top -->
33
+ <doc id="IW-02" exclude="true" /> <!-- exclude this cable -->
34
+ </query>
35
+
36
+ </elevate>
@@ -0,0 +1,246 @@
1
+ # The ASF licenses this file to You under the Apache License, Version 2.0
2
+ # (the "License"); you may not use this file except in compliance with
3
+ # the License. You may obtain a copy of the License at
4
+ #
5
+ # http://www.apache.org/licenses/LICENSE-2.0
6
+ #
7
+ # Unless required by applicable law or agreed to in writing, software
8
+ # distributed under the License is distributed on an "AS IS" BASIS,
9
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ # See the License for the specific language governing permissions and
11
+ # limitations under the License.
12
+
13
+ # Syntax:
14
+ # "source" => "target"
15
+ # "source".length() > 0 (source cannot be empty.)
16
+ # "target".length() >= 0 (target can be empty.)
17
+
18
+ # example:
19
+ # "??" => "A"
20
+ # "\u00C0" => "A"
21
+ # "\u00C0" => "\u0041"
22
+ # "??" => "ss"
23
+ # "\t" => " "
24
+ # "\n" => ""
25
+
26
+ # ?? => A
27
+ "\u00C0" => "A"
28
+
29
+ # ?? => A
30
+ "\u00C1" => "A"
31
+
32
+ # ?? => A
33
+ "\u00C2" => "A"
34
+
35
+ # ?? => A
36
+ "\u00C3" => "A"
37
+
38
+ # ?? => A
39
+ "\u00C4" => "A"
40
+
41
+ # ?? => A
42
+ "\u00C5" => "A"
43
+
44
+ # ?? => AE
45
+ "\u00C6" => "AE"
46
+
47
+ # ?? => C
48
+ "\u00C7" => "C"
49
+
50
+ # ?? => E
51
+ "\u00C8" => "E"
52
+
53
+ # ?? => E
54
+ "\u00C9" => "E"
55
+
56
+ # ?? => E
57
+ "\u00CA" => "E"
58
+
59
+ # ?? => E
60
+ "\u00CB" => "E"
61
+
62
+ # ?? => I
63
+ "\u00CC" => "I"
64
+
65
+ # ?? => I
66
+ "\u00CD" => "I"
67
+
68
+ # ?? => I
69
+ "\u00CE" => "I"
70
+
71
+ # ?? => I
72
+ "\u00CF" => "I"
73
+
74
+ # ?? => IJ
75
+ "\u0132" => "IJ"
76
+
77
+ # ?? => D
78
+ "\u00D0" => "D"
79
+
80
+ # ?? => N
81
+ "\u00D1" => "N"
82
+
83
+ # ?? => O
84
+ "\u00D2" => "O"
85
+
86
+ # ?? => O
87
+ "\u00D3" => "O"
88
+
89
+ # ?? => O
90
+ "\u00D4" => "O"
91
+
92
+ # ?? => O
93
+ "\u00D5" => "O"
94
+
95
+ # ?? => O
96
+ "\u00D6" => "O"
97
+
98
+ # ?? => O
99
+ "\u00D8" => "O"
100
+
101
+ # ?? => OE
102
+ "\u0152" => "OE"
103
+
104
+ # ??
105
+ "\u00DE" => "TH"
106
+
107
+ # ?? => U
108
+ "\u00D9" => "U"
109
+
110
+ # ?? => U
111
+ "\u00DA" => "U"
112
+
113
+ # ?? => U
114
+ "\u00DB" => "U"
115
+
116
+ # ?? => U
117
+ "\u00DC" => "U"
118
+
119
+ # ?? => Y
120
+ "\u00DD" => "Y"
121
+
122
+ # ?? => Y
123
+ "\u0178" => "Y"
124
+
125
+ # ?? => a
126
+ "\u00E0" => "a"
127
+
128
+ # ?? => a
129
+ "\u00E1" => "a"
130
+
131
+ # ?? => a
132
+ "\u00E2" => "a"
133
+
134
+ # ?? => a
135
+ "\u00E3" => "a"
136
+
137
+ # ?? => a
138
+ "\u00E4" => "a"
139
+
140
+ # ?? => a
141
+ "\u00E5" => "a"
142
+
143
+ # ?? => ae
144
+ "\u00E6" => "ae"
145
+
146
+ # ?? => c
147
+ "\u00E7" => "c"
148
+
149
+ # ?? => e
150
+ "\u00E8" => "e"
151
+
152
+ # ?? => e
153
+ "\u00E9" => "e"
154
+
155
+ # ?? => e
156
+ "\u00EA" => "e"
157
+
158
+ # ?? => e
159
+ "\u00EB" => "e"
160
+
161
+ # ?? => i
162
+ "\u00EC" => "i"
163
+
164
+ # ?? => i
165
+ "\u00ED" => "i"
166
+
167
+ # ?? => i
168
+ "\u00EE" => "i"
169
+
170
+ # ?? => i
171
+ "\u00EF" => "i"
172
+
173
+ # ?? => ij
174
+ "\u0133" => "ij"
175
+
176
+ # ?? => d
177
+ "\u00F0" => "d"
178
+
179
+ # ?? => n
180
+ "\u00F1" => "n"
181
+
182
+ # ?? => o
183
+ "\u00F2" => "o"
184
+
185
+ # ?? => o
186
+ "\u00F3" => "o"
187
+
188
+ # ?? => o
189
+ "\u00F4" => "o"
190
+
191
+ # ?? => o
192
+ "\u00F5" => "o"
193
+
194
+ # ?? => o
195
+ "\u00F6" => "o"
196
+
197
+ # ?? => o
198
+ "\u00F8" => "o"
199
+
200
+ # ?? => oe
201
+ "\u0153" => "oe"
202
+
203
+ # ?? => ss
204
+ "\u00DF" => "ss"
205
+
206
+ # ?? => th
207
+ "\u00FE" => "th"
208
+
209
+ # ?? => u
210
+ "\u00F9" => "u"
211
+
212
+ # ?? => u
213
+ "\u00FA" => "u"
214
+
215
+ # ?? => u
216
+ "\u00FB" => "u"
217
+
218
+ # ?? => u
219
+ "\u00FC" => "u"
220
+
221
+ # ?? => y
222
+ "\u00FD" => "y"
223
+
224
+ # ?? => y
225
+ "\u00FF" => "y"
226
+
227
+ # ??? => ff
228
+ "\uFB00" => "ff"
229
+
230
+ # ??? => fi
231
+ "\uFB01" => "fi"
232
+
233
+ # ??? => fl
234
+ "\uFB02" => "fl"
235
+
236
+ # ??? => ffi
237
+ "\uFB03" => "ffi"
238
+
239
+ # ??? => ffl
240
+ "\uFB04" => "ffl"
241
+
242
+ # ??? => ft
243
+ "\uFB05" => "ft"
244
+
245
+ # ??? => st
246
+ "\uFB06" => "st"