blacklight_allmaps 0.2.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +107 -0
  3. data/.gitignore +20 -0
  4. data/.standard.yml +1 -0
  5. data/Gemfile +50 -0
  6. data/README.md +47 -6
  7. data/Rakefile +4 -0
  8. data/app/assets/images/blacklight_allmaps/.keep +0 -0
  9. data/app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.esm.js +41 -0
  10. data/app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.esm.js.map +1 -1
  11. data/app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.js +41 -0
  12. data/app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.js.map +1 -1
  13. data/app/assets/stylesheets/blacklight/allmaps/base.scss +4 -1
  14. data/app/assets/stylesheets/blacklight/allmaps/modules/leaflet.opacity.css +76 -0
  15. data/app/controllers/allmaps/annotations_controller.rb +65 -0
  16. data/app/helpers/blacklight/allmaps/application_helper.rb +1 -1
  17. data/app/javascript/blacklight/allmaps/index.js +6 -0
  18. data/app/javascript/blacklight/allmaps/update_georef_links.js +36 -0
  19. data/app/jobs/blacklight/allmaps/store_sidecar_annotation.rb +7 -1
  20. data/app/models/concerns/.keep +0 -0
  21. data/app/models/concerns/blacklight/allmaps/solr_document.rb +1 -2
  22. data/app/views/allmaps/show/_blacklight.html.erb +1 -1
  23. data/app/views/allmaps/show/_geoblacklight.html.erb +1 -1
  24. data/app/views/allmaps/sidebar/_allmaps.html.erb +4 -32
  25. data/app/views/annotations/_annotation.json.jbuilder +1 -0
  26. data/app/views/annotations/_pagination.json.jbuilder +9 -0
  27. data/app/views/annotations/index.json.jbuilder +4 -0
  28. data/app/views/annotations/show.json.jbuilder +1 -0
  29. data/app/views/catalog/_show_allmaps_tabbed_viewer_container.html.erb +3 -3
  30. data/blacklight_allmaps.gemspec +34 -0
  31. data/config/locales/allmaps.en.yml +11 -0
  32. data/config/routes.rb +7 -0
  33. data/doc/Proposal_Eric_Larson_Ian_Spangler_4CE510.pdf +0 -0
  34. data/doc/allmaps_branding_screenshot.png +0 -0
  35. data/doc/allmaps_screenshot.png +0 -0
  36. data/doc/allmaps_screenshot_window.png +0 -0
  37. data/doc/development.md +72 -0
  38. data/doc/gbl_screenshot.png +0 -0
  39. data/doc/gbl_screenshot_window.png +0 -0
  40. data/doc/georeferenced_facet.png +0 -0
  41. data/doc/screenshot_layers.acorn +0 -0
  42. data/doc/screenshot_layers.png +0 -0
  43. data/lib/blacklight/allmaps/tasks/index.rake +7 -57
  44. data/lib/blacklight/allmaps/tasks/sidecars.rake +9 -0
  45. data/lib/blacklight/allmaps/version.rb +1 -1
  46. data/lib/blacklight/allmaps.rb +10 -2
  47. data/lib/generators/blacklight/allmaps/blacklight_generator.rb +54 -0
  48. data/lib/generators/blacklight/allmaps/config_generator.rb +7 -53
  49. data/lib/generators/blacklight/allmaps/geoblacklight_generator.rb +59 -0
  50. data/lib/generators/blacklight/allmaps/install_generator.rb +10 -0
  51. data/lib/generators/blacklight/allmaps/templates/package.json +6 -0
  52. data/package.json +43 -0
  53. data/rollup.config.js +43 -0
  54. data/solr/blacklight/conf/_rest_managed.json +3 -0
  55. data/solr/blacklight/conf/admin-extra.html +31 -0
  56. data/solr/blacklight/conf/elevate.xml +36 -0
  57. data/solr/blacklight/conf/mapping-ISOLatin1Accent.txt +246 -0
  58. data/solr/blacklight/conf/protwords.txt +21 -0
  59. data/solr/blacklight/conf/schema.xml +388 -0
  60. data/solr/blacklight/conf/scripts.conf +24 -0
  61. data/solr/blacklight/conf/solrconfig.xml +265 -0
  62. data/solr/blacklight/conf/spellings.txt +2 -0
  63. data/solr/blacklight/conf/stopwords.txt +58 -0
  64. data/solr/blacklight/conf/stopwords_en.txt +58 -0
  65. data/solr/blacklight/conf/synonyms.txt +31 -0
  66. data/solr/blacklight/conf/xslt/example.xsl +132 -0
  67. data/solr/blacklight/conf/xslt/example_atom.xsl +67 -0
  68. data/solr/blacklight/conf/xslt/example_rss.xsl +66 -0
  69. data/solr/blacklight/conf/xslt/luke.xsl +337 -0
  70. data/solr/geoblacklight/conf/_rest_managed.json +3 -0
  71. data/solr/geoblacklight/conf/admin-extra.html +31 -0
  72. data/solr/geoblacklight/conf/core.properties +5 -0
  73. data/solr/geoblacklight/conf/elevate.xml +36 -0
  74. data/solr/geoblacklight/conf/mapping-ISOLatin1Accent.txt +246 -0
  75. data/solr/geoblacklight/conf/protwords.txt +21 -0
  76. data/solr/geoblacklight/conf/schema.xml +198 -0
  77. data/solr/geoblacklight/conf/scripts.conf +24 -0
  78. data/solr/geoblacklight/conf/solrconfig.xml +243 -0
  79. data/solr/geoblacklight/conf/spellings.txt +2 -0
  80. data/solr/geoblacklight/conf/stopwords.txt +58 -0
  81. data/solr/geoblacklight/conf/stopwords_en.txt +58 -0
  82. data/solr/geoblacklight/conf/synonyms.txt +31 -0
  83. data/solr/geoblacklight/conf/xslt/example.xsl +132 -0
  84. data/solr/geoblacklight/conf/xslt/example_atom.xsl +67 -0
  85. data/solr/geoblacklight/conf/xslt/example_rss.xsl +66 -0
  86. data/solr/geoblacklight/conf/xslt/luke.xsl +337 -0
  87. data/spec/controllers/annotations_controller_spec.rb +74 -0
  88. data/spec/factories/annotations.rb +12 -0
  89. data/spec/features/show_page_spec.rb +35 -0
  90. data/spec/features/sidebar_spec.rb +28 -0
  91. data/spec/fixtures/blacklight_allmaps_sidecars.yml +1203 -0
  92. data/spec/fixtures/solr_documents/README.md +15 -0
  93. data/spec/fixtures/solr_documents/blacklight/README.md +9 -0
  94. data/spec/fixtures/solr_documents/blacklight/bl_georeferenced.json +40 -0
  95. data/spec/fixtures/solr_documents/geoblacklight/gbl_btaa_northwestern_georeferenced.json +57 -0
  96. data/spec/fixtures/solr_documents/geoblacklight/gbl_harvard-g4124-m2-1855-m3_georefereneced.json +68 -0
  97. data/spec/fixtures/solr_documents/geoblacklight/gbl_not_georeferenced.json +67 -0
  98. data/spec/fixtures/solr_documents/geoblacklight/gbl_osu-0r967h708_georeferenced.json +60 -0
  99. data/spec/fixtures/solr_documents/geoblacklight/gbl_p16022coll230:1933_georeferenced.json +60 -0
  100. data/spec/fixtures/solr_documents/geoblacklight/gbl_p16022coll230:360_georeferenced.json +67 -0
  101. data/spec/fixtures/solr_documents/geoblacklight/gbl_p16022coll230:4038_georeferenced.json +53 -0
  102. data/spec/helpers/blacklight/allmaps/application_helper_spec.rb +28 -0
  103. data/spec/models/blacklight/allmaps/sidecar_allmaps_spec.rb +22 -0
  104. data/spec/spec_helper.rb +53 -0
  105. data/spec/test_app_templates/Gemfile.extra +2 -0
  106. data/spec/test_app_templates/lib/generators/test_app_generator.rb +48 -0
  107. data/vendor/assets/images/fullscreen.png +0 -0
  108. data/vendor/assets/images/fullscreen@2x.png +0 -0
  109. data/vendor/assets/images/layers-2x.png +0 -0
  110. data/vendor/assets/images/layers.png +0 -0
  111. data/vendor/assets/images/marker-icon-2x.png +0 -0
  112. data/vendor/assets/images/marker-icon.png +0 -0
  113. data/vendor/assets/images/marker-shadow.png +0 -0
  114. data/vendor/assets/stylesheets/leaflet.css +640 -0
  115. data/vendor/assets/stylesheets/leaflet.fullscreen.css +40 -0
  116. metadata +109 -7
  117. data/app/controllers/blacklight/allmaps/application_controller.rb +0 -6
  118. data/app/jobs/blacklight/allmaps/application_job.rb +0 -6
  119. data/app/mailers/blacklight/allmaps/application_mailer.rb +0 -8
  120. data/app/models/blacklight/allmaps/application_record.rb +0 -7
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/generators"
4
+
5
+ module Blacklight
6
+ module Allmaps
7
+ class BlacklightGenerator < Rails::Generators::Base
8
+ source_root File.expand_path("templates", __dir__)
9
+
10
+ desc <<-DESCRIPTION
11
+ This generator makes the following changes to your application:
12
+ 1. Copies stylesheets to Blacklight app
13
+ 2. Add yarn package
14
+ 3. Adds Blacklight::Allmaps configuration to CatalogController
15
+ 4. Adds georeferenced facet to CatalogController
16
+ 5. Includes Blacklight::Allmaps::SolrDocument in SolrDocument
17
+ DESCRIPTION
18
+
19
+ def add_bl_stylesheets
20
+ append_to_file "app/assets/stylesheets/blacklight.scss" do
21
+ "@import 'blacklight/allmaps/base';"
22
+ end
23
+ end
24
+
25
+ def add_yarn_package
26
+ copy_file "package.json", "package.json"
27
+ run "yarn install"
28
+ end
29
+
30
+ def add_configuration
31
+ inject_into_file "app/controllers/catalog_controller.rb", after: "#config.show.thumbnail_field = 'thumbnail_path_ss'" do
32
+ "\n
33
+ # Blacklight::Allmaps Viewer
34
+ config.show.partials.insert(1, :blacklight_allmaps)
35
+ config.default_solr_unique_key = \"id\"
36
+ config.default_georeferenced_field = \"bl_georeferenced_bsi\"
37
+ config.default_iiif_manifest_field = \"iiif_manifest_url_ssi\""
38
+ end
39
+ end
40
+
41
+ def add_bl_georeferenced_facet
42
+ inject_into_file "app/controllers/catalog_controller.rb", after: "config.add_facet_field 'subject_era_ssim', label: 'Era'" do
43
+ "\n config.add_facet_field 'bl_georeferenced_bsi', label: I18n.t('allmaps.bl_facet_label')"
44
+ end
45
+ end
46
+
47
+ def include_blacklight_allmaps_solrdocument
48
+ inject_into_file "app/models/solr_document.rb", after: "include Blacklight::Solr::Document" do
49
+ "\n include Blacklight::Allmaps::SolrDocument"
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -20,6 +20,7 @@ module Blacklight
20
20
  append_to_file "config/initializers/assets.rb" do
21
21
  "
22
22
  # Blacklight Allmaps
23
+ Rails.application.config.assets.paths << Rails.root.join('node_modules')
23
24
  Rails.application.config.assets.paths << Rails.root.join('vendor', 'assets', 'images')
24
25
  Rails.application.config.assets.precompile += %w( blacklight/allmaps/allmaps-logo.svg )"
25
26
  end
@@ -40,6 +41,7 @@ module Blacklight
40
41
  pin "leaflet", to: "https://cdn.jsdelivr.net/npm/leaflet@1.9.4/dist/leaflet.js", preload: true
41
42
  pin "leaflet-fullscreen", to: "https://cdn.jsdelivr.net/npm/leaflet-fullscreen@1.0.2/dist/Leaflet.fullscreen.min.js", preload: true
42
43
  pin "@allmaps/leaflet", to: "https://cdn.jsdelivr.net/npm/@allmaps/leaflet/dist/bundled/allmaps-leaflet-1.9.umd.js", preload: true
44
+ pin_all_from File.expand_path("../app/javascript/blacklight/allmaps", __dir__), under: "blacklight-allmaps"
43
45
  CONTENT
44
46
  end
45
47
  end
@@ -48,69 +50,21 @@ module Blacklight
48
50
  inject_into_file "app/assets/javascripts/application.js", after: "//= require blacklight/blacklight" do
49
51
  "\n
50
52
  // Required by Blacklight::Allmaps
51
- //= require blacklight/allmaps/blacklight-allmaps"
53
+ //= require blacklight-allmaps/app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.js"
52
54
  end
53
55
  end
54
56
 
55
- def add_bl_stylesheets
56
- return unless ENV["LIGHT"] == "blacklight"
57
- append_to_file "app/assets/stylesheets/blacklight.scss" do
58
- "@import 'blacklight/allmaps/base';"
59
- end
57
+ def add_yarn_package
58
+ run "yarn add blacklight-allmaps"
60
59
  end
61
60
 
62
- def add_gbl_stylesheets
63
- return unless ENV["LIGHT"] == "geoblacklight"
64
- append_to_file "app/assets/stylesheets/application.scss" do
65
- "@import 'blacklight/allmaps/base';"
66
- end
61
+ def set_routes
62
+ inject_into_file "config/routes.rb", "mount Blacklight::Allmaps::Engine => '/'\n", before: /^end/
67
63
  end
68
64
 
69
65
  def set_active_job_config
70
66
  inject_into_file "config/environments/development.rb", " config.active_job.queue_adapter = :inline\n", after: "Rails.application.configure do\n"
71
67
  end
72
-
73
- def add_geoblacklight
74
- return unless ENV["LIGHT"] == "geoblacklight"
75
- append_to_file "Gemfile", '"geoblacklight", "~> 4.4"'
76
- end
77
-
78
- def include_blacklight_allmaps_solrdocument
79
- return unless ENV["LIGHT"] == "blacklight"
80
- inject_into_file "app/models/solr_document.rb", after: "include Blacklight::Solr::Document" do
81
- "\n include Blacklight::Allmaps::SolrDocument"
82
- end
83
- end
84
-
85
- def add_gbl_tabbed_viewer
86
- return unless ENV["LIGHT"] == "geoblacklight"
87
- # Use the tabbed viewer
88
- inject_into_file "app/controllers/catalog_controller.rb", after: "config.show.partials << \"show_default_viewer_container\"" do
89
- "\n
90
- # Blacklight::Allmaps Tabbed Viewer
91
- config.show.partials << \"show_allmaps_tabbed_viewer_container\""
92
- end
93
-
94
- # Remove the default viewer
95
- gsub_file("app/controllers/catalog_controller.rb", "config.show.partials << \"show_default_viewer_container\"", "#config.show.partials << \"show_default_viewer_container\"")
96
- end
97
-
98
- def add_bl_allmaps_viewer
99
- return unless ENV["LIGHT"] == "blacklight"
100
- # Use the allmaps viewer
101
- inject_into_file "app/controllers/catalog_controller.rb", after: "#config.show.thumbnail_field = 'thumbnail_path_ss'" do
102
- "\n
103
- # Blacklight::Allmaps Viewer
104
- config.show.partials.insert(1, :blacklight_allmaps)"
105
- end
106
- end
107
-
108
- def add_bl_georeferenced_facet
109
- return unless ENV["LIGHT"] == "blacklight"
110
- inject_into_file "app/controllers/catalog_controller.rb", after: "config.add_facet_field 'subject_era_ssim', label: 'Era'" do
111
- "\n config.add_facet_field 'bl_georeferenced_bsi', label: 'Allmaps Georeferenced'"
112
- end
113
- end
114
68
  end
115
69
  end
116
70
  end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/generators"
4
+
5
+ module Blacklight
6
+ module Allmaps
7
+ class GeoblacklightGenerator < Rails::Generators::Base
8
+ source_root File.expand_path("templates", __dir__)
9
+
10
+ desc <<-DESCRIPTION
11
+ This generator makes the following changes to your application:
12
+ 1. Adds stylesheets to application.scss
13
+ 2. Adds GeoBlacklight to Gemfile
14
+ 3. Adds Blacklight::Allmaps configuration to CatalogController
15
+ 4. Adds Blacklight::Allmaps Tabbed Viewer to CatalogController
16
+ DESCRIPTION
17
+
18
+ def add_gbl_stylesheets
19
+ append_to_file "app/assets/stylesheets/application.scss" do
20
+ "@import 'blacklight/allmaps/base';"
21
+ end
22
+ end
23
+
24
+ def add_geoblacklight
25
+ gemfile_path = "Gemfile"
26
+
27
+ # Check if the 'geoblacklight' gem is already included in the Gemfile
28
+ if File.read(gemfile_path).include?("geoblacklight")
29
+ say_status("skipped", "geoblacklight gem already included in the Gemfile", :yellow)
30
+ else
31
+ append_to_file "Gemfile" do
32
+ "\ngem \"geoblacklight\", \"~> 4.4\""
33
+ end
34
+ end
35
+ end
36
+
37
+ def add_configuration
38
+ inject_into_file "app/controllers/catalog_controller.rb", after: "config.raw_endpoint.enabled = true" do
39
+ "\n
40
+ # Blacklight::Allmaps Viewer
41
+ config.default_solr_unique_key = \"id\"
42
+ config.default_georeferenced_field = \"gbl_georeferenced_b\""
43
+ end
44
+ end
45
+
46
+ def add_gbl_tabbed_viewer
47
+ # Use the tabbed viewer
48
+ inject_into_file "app/controllers/catalog_controller.rb", after: "config.show.partials << \"show_default_viewer_container\"" do
49
+ "\n
50
+ # Blacklight::Allmaps Tabbed Viewer
51
+ config.show.partials << \"show_allmaps_tabbed_viewer_container\""
52
+ end
53
+
54
+ # Remove the default viewer
55
+ gsub_file("app/controllers/catalog_controller.rb", "config.show.partials << \"show_default_viewer_container\"", "#config.show.partials << \"show_default_viewer_container\"")
56
+ end
57
+ end
58
+ end
59
+ end
@@ -13,6 +13,16 @@ module Blacklight
13
13
  generate "blacklight:allmaps:config"
14
14
  end
15
15
 
16
+ def generate_blacklight_config
17
+ return unless ENV["LIGHT"] == "blacklight"
18
+ generate "blacklight:allmaps:blacklight"
19
+ end
20
+
21
+ def generate_geoblacklight_config
22
+ return unless ENV["LIGHT"] == "geoblacklight"
23
+ generate "blacklight:allmaps:geoblacklight"
24
+ end
25
+
16
26
  def generate_models
17
27
  generate "blacklight:allmaps:models"
18
28
  end
@@ -0,0 +1,6 @@
1
+ {
2
+ "dependencies": {
3
+ "blacklight-allmaps": "^0.3.1",
4
+ "leaflet": "^1.9.4"
5
+ }
6
+ }
data/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "blacklight-allmaps",
3
+ "version": "0.3.1",
4
+ "description": "The frontend code and styles for Blacklight Allmaps",
5
+ "main": "app/assets/javascripts/blacklight/allmaps",
6
+ "module": "app/assets/javascripts/blacklight/allmaps/blacklight-allmaps.esm.js",
7
+ "author": "Eric Larson",
8
+ "license": "Apache-2.0",
9
+ "publishConfig": {
10
+ "access": "public"
11
+ },
12
+ "scripts": {
13
+ "prepare": "rollup --config rollup.config.js --sourcemap && ESM=true rollup --config rollup.config.js --sourcemap"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/bplmaps/blacklight-allmaps.git"
18
+ },
19
+ "files": [
20
+ "app/assets",
21
+ "app/javascript"
22
+ ],
23
+ "bugs": {
24
+ "url": "https://github.com/bplmaps/blacklight-allmaps/issues"
25
+ },
26
+ "homepage": "https://github.com/bplmaps/blacklight-allmaps#readme",
27
+ "devDependencies": {
28
+ "@rollup/plugin-commonjs": "^25.0.7",
29
+ "@rollup/plugin-node-resolve": "^15.2.3",
30
+ "rollup": "^2.60.0",
31
+ "rollup-plugin-includepaths": "^0.2.4"
32
+ },
33
+ "browserslist": [
34
+ "defaults",
35
+ "not IE 11"
36
+ ],
37
+ "dependencies": {
38
+ "@allmaps/leaflet": "^1.0.0-beta.33",
39
+ "blacklight-allmaps": "^0.3.1",
40
+ "leaflet": "^1.9.4",
41
+ "leaflet-fullscreen": "^1.0.2"
42
+ }
43
+ }
data/rollup.config.js ADDED
@@ -0,0 +1,43 @@
1
+ 'use strict'
2
+
3
+ import nodeResolve from '@rollup/plugin-node-resolve';
4
+ import commonjs from '@rollup/plugin-commonjs';
5
+ import includePaths from 'rollup-plugin-includepaths';
6
+
7
+ const path = require('path')
8
+
9
+ const BUNDLE = process.env.BUNDLE === 'true'
10
+ const ESM = process.env.ESM === 'true'
11
+
12
+ const fileDest = `blacklight-allmaps${ESM ? '.esm' : ''}`
13
+ const external = []
14
+ const globals = {}
15
+
16
+ let includePathOptions = {
17
+ include: {},
18
+ paths: ['app/javascript'],
19
+ external: [],
20
+ extensions: ['.js']
21
+ };
22
+
23
+ const rollupConfig = {
24
+ input: path.resolve(__dirname, `app/javascript/blacklight/allmaps/index.js`),
25
+ output: {
26
+ file: path.resolve(__dirname, `app/assets/javascripts/blacklight/allmaps/${fileDest}.js`),
27
+ format: ESM ? 'esm' : 'umd',
28
+ globals,
29
+ generatedCode: 'es2015'
30
+ },
31
+ external,
32
+ plugins: [
33
+ includePaths(includePathOptions),
34
+ nodeResolve(),
35
+ commonjs()
36
+ ]
37
+ }
38
+
39
+ if (!ESM) {
40
+ rollupConfig.output.name = 'Blacklight'
41
+ }
42
+
43
+ module.exports = rollupConfig
@@ -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"
@@ -0,0 +1,21 @@
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
+ #-----------------------------------------------------------------------
14
+ # Use a protected word file to protect against the stemmer reducing two
15
+ # unrelated words to the same base word.
16
+
17
+ # Some non-words that normally won't be encountered,
18
+ # just to test that they won't be stemmed.
19
+ dontstems
20
+ zwhacky
21
+