diff --git a/.gitignore b/.gitignore index 2962a11bb..43439dd01 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ # Ignore all logfiles and tempfiles. /log/*.log +/log/solr /tmp /log/resque* @@ -41,6 +42,9 @@ solr_wrapper.yml subsites.yml location_uris.yml +# Docker ignores (so these can be customized per-development-environment if needed) +/docker/docker-compose.*.yml + # Ignore local task files /lib/tasks/local.rake /lib/tasks/local/* diff --git a/docker/docker-compose.development.yml b/docker/docker-compose.development.yml deleted file mode 100644 index f1c66226b..000000000 --- a/docker/docker-compose.development.yml +++ /dev/null @@ -1,25 +0,0 @@ -version: "3.9" - -# Although a name isn't required for docker to work, we want to explicitly specify it so we know -# which prefix is used for the volumes that we create. -name: 'dcv-development' - -volumes: - redis-data: - solr-cores: - fedora-data: -services: - solr: - build: ./solr - restart: always - ports: - - '8983:8983' - volumes: - - solr-cores:/data - fedora: - build: ./fedora - restart: always - ports: - - '8080:8080' - volumes: - - fedora-data:/opt/fedora/data diff --git a/docker/docker-compose.test.yml b/docker/docker-compose.test.yml deleted file mode 100644 index bc967be93..000000000 --- a/docker/docker-compose.test.yml +++ /dev/null @@ -1,25 +0,0 @@ -version: "3.9" - -# Although a name isn't required for docker to work, we want to explicitly specify it so we know -# which prefix is used for the volumes that we create. -name: 'dcv-test' - -volumes: - redis-data: - solr-cores: - fedora-data: -services: - solr: - build: ./solr - restart: always - ports: - - '9983:8983' - volumes: - - solr-cores:/data - fedora: - build: ./fedora - restart: always - ports: - - '9080:8080' - volumes: - - fedora-data:/opt/fedora/data diff --git a/docker/solr/Dockerfile b/docker/solr/Dockerfile deleted file mode 100644 index 0385c6e1b..000000000 --- a/docker/solr/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM solr:6.3.0 - -WORKDIR /data - -# Set up template cores in image - -COPY --chown=solr:solr './solr_cores/dcv-solr-6-3' /template-cores/dcv -RUN echo 'name=dcv' > /template-cores/dcv/core.properties - -# When image runs, the command below will copy template cores to final location (on mounted docker -# volume) if they don't already exist, and then will start solr. - -CMD [ ! -d /opt/solr/server/solr/dcv ] && cp -pr /template-cores/dcv /data/dcv && \ - ln -s /data/dcv /opt/solr/server/solr/dcv && \ - solr-foreground diff --git a/docker/solr/solr_cores/dcv-solr-6-3/conf/admin-extra.html b/docker/solr/solr_cores/dcv-solr-6-3/conf/admin-extra.html new file mode 100644 index 000000000..21b50901c --- /dev/null +++ b/docker/solr/solr_cores/dcv-solr-6-3/conf/admin-extra.html @@ -0,0 +1,31 @@ + + + diff --git a/docker/solr/solr_cores/dcv-solr-6-3/conf/elevate.xml b/docker/solr/solr_cores/dcv-solr-6-3/conf/conf/elevate.xml similarity index 100% rename from docker/solr/solr_cores/dcv-solr-6-3/conf/elevate.xml rename to docker/solr/solr_cores/dcv-solr-6-3/conf/conf/elevate.xml diff --git a/docker/solr/solr_cores/dcv-solr-6-3/conf/mapping-ISOLatin1Accent.txt b/docker/solr/solr_cores/dcv-solr-6-3/conf/mapping-ISOLatin1Accent.txt new file mode 100644 index 000000000..186ca313d --- /dev/null +++ b/docker/solr/solr_cores/dcv-solr-6-3/conf/mapping-ISOLatin1Accent.txt @@ -0,0 +1,246 @@ +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Syntax: +# "source" => "target" +# "source".length() > 0 (source cannot be empty.) +# "target".length() >= 0 (target can be empty.) + +# example: +# "??" => "A" +# "\u00C0" => "A" +# "\u00C0" => "\u0041" +# "??" => "ss" +# "\t" => " " +# "\n" => "" + +# ?? => A +"\u00C0" => "A" + +# ?? => A +"\u00C1" => "A" + +# ?? => A +"\u00C2" => "A" + +# ?? => A +"\u00C3" => "A" + +# ?? => A +"\u00C4" => "A" + +# ?? => A +"\u00C5" => "A" + +# ?? => AE +"\u00C6" => "AE" + +# ?? => C +"\u00C7" => "C" + +# ?? => E +"\u00C8" => "E" + +# ?? => E +"\u00C9" => "E" + +# ?? => E +"\u00CA" => "E" + +# ?? => E +"\u00CB" => "E" + +# ?? => I +"\u00CC" => "I" + +# ?? => I +"\u00CD" => "I" + +# ?? => I +"\u00CE" => "I" + +# ?? => I +"\u00CF" => "I" + +# ?? => IJ +"\u0132" => "IJ" + +# ?? => D +"\u00D0" => "D" + +# ?? => N +"\u00D1" => "N" + +# ?? => O +"\u00D2" => "O" + +# ?? => O +"\u00D3" => "O" + +# ?? => O +"\u00D4" => "O" + +# ?? => O +"\u00D5" => "O" + +# ?? => O +"\u00D6" => "O" + +# ?? => O +"\u00D8" => "O" + +# ?? => OE +"\u0152" => "OE" + +# ?? +"\u00DE" => "TH" + +# ?? => U +"\u00D9" => "U" + +# ?? => U +"\u00DA" => "U" + +# ?? => U +"\u00DB" => "U" + +# ?? => U +"\u00DC" => "U" + +# ?? => Y +"\u00DD" => "Y" + +# ?? => Y +"\u0178" => "Y" + +# ?? => a +"\u00E0" => "a" + +# ?? => a +"\u00E1" => "a" + +# ?? => a +"\u00E2" => "a" + +# ?? => a +"\u00E3" => "a" + +# ?? => a +"\u00E4" => "a" + +# ?? => a +"\u00E5" => "a" + +# ?? => ae +"\u00E6" => "ae" + +# ?? => c +"\u00E7" => "c" + +# ?? => e +"\u00E8" => "e" + +# ?? => e +"\u00E9" => "e" + +# ?? => e +"\u00EA" => "e" + +# ?? => e +"\u00EB" => "e" + +# ?? => i +"\u00EC" => "i" + +# ?? => i +"\u00ED" => "i" + +# ?? => i +"\u00EE" => "i" + +# ?? => i +"\u00EF" => "i" + +# ?? => ij +"\u0133" => "ij" + +# ?? => d +"\u00F0" => "d" + +# ?? => n +"\u00F1" => "n" + +# ?? => o +"\u00F2" => "o" + +# ?? => o +"\u00F3" => "o" + +# ?? => o +"\u00F4" => "o" + +# ?? => o +"\u00F5" => "o" + +# ?? => o +"\u00F6" => "o" + +# ?? => o +"\u00F8" => "o" + +# ?? => oe +"\u0153" => "oe" + +# ?? => ss +"\u00DF" => "ss" + +# ?? => th +"\u00FE" => "th" + +# ?? => u +"\u00F9" => "u" + +# ?? => u +"\u00FA" => "u" + +# ?? => u +"\u00FB" => "u" + +# ?? => u +"\u00FC" => "u" + +# ?? => y +"\u00FD" => "y" + +# ?? => y +"\u00FF" => "y" + +# ??? => ff +"\uFB00" => "ff" + +# ??? => fi +"\uFB01" => "fi" + +# ??? => fl +"\uFB02" => "fl" + +# ??? => ffi +"\uFB03" => "ffi" + +# ??? => ffl +"\uFB04" => "ffl" + +# ??? => ft +"\uFB05" => "ft" + +# ??? => st +"\uFB06" => "st" diff --git a/docker/solr/solr_cores/dcv-solr-6-3/conf/schema.xml b/docker/solr/solr_cores/dcv-solr-6-3/conf/schema.xml index 39443adaf..40926746c 100644 --- a/docker/solr/solr_cores/dcv-solr-6-3/conf/schema.xml +++ b/docker/solr/solr_cores/dcv-solr-6-3/conf/schema.xml @@ -16,10 +16,10 @@ limitations under the License. --> - - + - @@ -122,19 +122,18 @@ - + - - - + + @@ -200,7 +199,7 @@ - + @@ -275,13 +274,19 @@ - + + + + + + unknown fields to the schema. --> + --> - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + removes stop words from case-insensitive "stopwords.txt" + (empty by default), and down cases. At query time only, it + also applies synonyms. + --> @@ -489,7 +490,7 @@ + --> @@ -504,7 +505,7 @@ + --> @@ -569,7 +570,7 @@ @@ -602,13 +603,13 @@ - @@ -663,12 +664,12 @@ + any data added to them will be ignored outright. --> - - - - - + + @@ -710,7 +707,7 @@ - + @@ -724,27 +721,27 @@ - - + + - - + + - + - + - + - + @@ -761,29 +758,29 @@ - + - + - + - + - + - + - + @@ -793,11 +790,11 @@ - + - + @@ -805,11 +802,11 @@ - + - + @@ -817,18 +814,18 @@ - + - + - + @@ -842,11 +839,11 @@ - + - + @@ -854,11 +851,11 @@ - + - + @@ -869,11 +866,11 @@ - + - + @@ -884,11 +881,11 @@ - + - + @@ -896,11 +893,11 @@ - + - + @@ -911,34 +908,34 @@ - + - + - + - + - + - + - + @@ -946,11 +943,11 @@ - + - + @@ -960,11 +957,11 @@ - + @@ -1014,22 +1011,22 @@ - + - + - + - + @@ -1037,11 +1034,11 @@ - + - + @@ -1050,11 +1047,11 @@ - + - + @@ -1064,22 +1061,22 @@ - + - + - + - + @@ -1087,11 +1084,11 @@ - + - + @@ -1099,7 +1096,7 @@ - + @@ -1109,11 +1106,11 @@ - + - + @@ -1122,8 +1119,8 @@ - 6.3.0 + 8.2.0 - 30000 - - false + 15000 + true - 5000 + ${solr.autoSoftCommit.maxTime:-1} - 4 + 2 @@ -633,7 +629,12 @@ handleSelect="true" is not recommended for new users, but is the default for backwards compatibility --> - + + + - - + + - explicit edismax - *:* + explicit *:* - 10 - score desc,sort_title_ssi asc - - *, - score - + id + 2<-1 5<-2 6<90% + 1 + 1 + 0.01 + + 1 - - + + + - explicit - 10 - *:* - *:* + all + * + 1 + id + {!raw f=id v=$id} - - - - - - - + + + + + + explicit + lucene + diff --git a/docker/solr/solr_cores/dcv-solr-6-3/conf/spellings.txt b/docker/solr/solr_cores/dcv-solr-6-3/conf/spellings.txt new file mode 100644 index 000000000..765190ae5 --- /dev/null +++ b/docker/solr/solr_cores/dcv-solr-6-3/conf/spellings.txt @@ -0,0 +1,2 @@ +pizza +history diff --git a/docker/solr/solr_cores/dcv-solr-6-3/conf/stopwords_en.txt b/docker/solr/solr_cores/dcv-solr-6-3/conf/stopwords_en.txt new file mode 100644 index 000000000..22f277fe0 --- /dev/null +++ b/docker/solr/solr_cores/dcv-solr-6-3/conf/stopwords_en.txt @@ -0,0 +1,58 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +#----------------------------------------------------------------------- +# a couple of test stopwords to test that the words are really being +# configured from this file: +stopworda +stopwordb + +#Standard english stop words taken from Lucene's StopAnalyzer +a +an +and +are +as +at +be +but +by +for +if +in +into +is +it +no +not +of +on +or +s +such +t +that +the +their +then +there +these +they +this +to +was +will +with + diff --git a/docker/solr/solr_cores/dcv-solr-6-3/conf/xslt/example.xsl b/docker/solr/solr_cores/dcv-solr-6-3/conf/xslt/example.xsl new file mode 100644 index 000000000..ff7cae746 --- /dev/null +++ b/docker/solr/solr_cores/dcv-solr-6-3/conf/xslt/example.xsl @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + <xsl:value-of select="$title"/> + + + +

+
+ This has been formatted by the sample "example.xsl" transform - + use your own XSLT to get a nicer page +
+ + + +
+ + + +
+ + + + +
+
+
+ + + + + + + + + + + + + + javascript:toggle("");? +
+ + exp + + + + + +
+ + +
+ + + + + + + +
    + +
  • +
    +
+ + +
+ + + + + + + + + + + + + + + + + + + + +
diff --git a/docker/solr/solr_cores/dcv-solr-6-3/conf/xslt/example_atom.xsl b/docker/solr/solr_cores/dcv-solr-6-3/conf/xslt/example_atom.xsl new file mode 100644 index 000000000..dbc7afa3b --- /dev/null +++ b/docker/solr/solr_cores/dcv-solr-6-3/conf/xslt/example_atom.xsl @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + Example Solr Atom 1.0 Feed + + This has been formatted by the sample "example_atom.xsl" transform - + use your own XSLT to get a nicer Atom feed. + + + Apache Solr + solr-user@lucene.apache.org + + + + + + tag:localhost,2007:example + + + + + + + + + <xsl:value-of select="str[@name='name']"/> + + tag:localhost,2007: + + + + + + diff --git a/docker/solr/solr_cores/dcv-solr-6-3/conf/xslt/example_rss.xsl b/docker/solr/solr_cores/dcv-solr-6-3/conf/xslt/example_rss.xsl new file mode 100644 index 000000000..b5bd0cf9f --- /dev/null +++ b/docker/solr/solr_cores/dcv-solr-6-3/conf/xslt/example_rss.xsl @@ -0,0 +1,66 @@ + + + + + + + + + + + + + Example Solr RSS 2.0 Feed + http://localhost:8983/solr + + This has been formatted by the sample "example_rss.xsl" transform - + use your own XSLT to get a nicer RSS feed. + + en-us + http://localhost:8983/solr + + + + + + + + + + + <xsl:value-of select="str[@name='name']"/> + + http://localhost:8983/solr/select?q=id: + + + + + + + http://localhost:8983/solr/select?q=id: + + + + diff --git a/docker/solr/solr_cores/dcv-solr-6-3/conf/xslt/luke.xsl b/docker/solr/solr_cores/dcv-solr-6-3/conf/xslt/luke.xsl new file mode 100644 index 000000000..d3f71c6d8 --- /dev/null +++ b/docker/solr/solr_cores/dcv-solr-6-3/conf/xslt/luke.xsl @@ -0,0 +1,337 @@ + + + + + + + + + Solr Luke Request Handler Response + + + + + + + + + <xsl:value-of select="$title"/> + + + + + +

+ +

+
+ +
+ +

Index Statistics

+ +
+ +

Field Statistics

+ + + +

Document statistics

+ + + + +
+ + + + + +
+ +
+ + +
+ +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + +
+

+ +

+ +
+ +
+
+
+ + +
+ + 50 + 800 + 160 + blue + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ background-color: ; width: px; height: px; +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
  • + +
  • +
    +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + + + + + + + + + + + + + + + + +
diff --git a/docker/templates/docker-compose.development.yml b/docker/templates/docker-compose.development.yml index f1c66226b..2dc762b68 100644 --- a/docker/templates/docker-compose.development.yml +++ b/docker/templates/docker-compose.development.yml @@ -6,16 +6,25 @@ name: 'dcv-development' volumes: redis-data: - solr-cores: fedora-data: + solr-data: services: solr: - build: ./solr + image: solr:8.11 restart: always ports: - '8983:8983' volumes: - - solr-cores:/data + - $PWD/docker/solr/solr_cores/dcv-solr-6-3/conf:/opt/solr/conf + - $PWD/log/solr:/var/solr/logs + - solr-data:/var/solr/data + entrypoint: + - docker-entrypoint.sh + - solr-precreate + - dcv + - /opt/solr/conf + - "-Xms256m" + - "-Xmx512m" fedora: build: ./fedora restart: always diff --git a/docker/templates/docker-compose.test.yml b/docker/templates/docker-compose.test.yml index bc967be93..0f91c1200 100644 --- a/docker/templates/docker-compose.test.yml +++ b/docker/templates/docker-compose.test.yml @@ -6,16 +6,25 @@ name: 'dcv-test' volumes: redis-data: - solr-cores: fedora-data: + solr-data: services: solr: - build: ./solr + image: solr:8.11 restart: always ports: - '9983:8983' volumes: - - solr-cores:/data + - $PWD/docker/solr/solr_cores/dcv-solr-6-3/conf:/opt/solr/conf + - $PWD/log/solr:/var/solr/logs + - solr-data:/var/solr/data + entrypoint: + - docker-entrypoint.sh + - solr-precreate + - dcv + - /opt/solr/conf + - "-Xms256m" + - "-Xmx512m" fedora: build: ./fedora restart: always diff --git a/log/solr/.keep b/log/solr/.keep new file mode 100644 index 000000000..e69de29bb