Complete redo of Debian packaging
authorWayne Schneider <wayne@indexdata.com>
Wed, 13 Jul 2016 20:55:04 +0000 (15:55 -0500)
committerWayne Schneider <wayne@indexdata.com>
Wed, 13 Jul 2016 20:55:04 +0000 (15:55 -0500)
40 files changed:
README
conf/admin-extra.html [deleted file]
conf/admin-extra.menu-bottom.html [deleted file]
conf/admin-extra.menu-top.html [deleted file]
conf/log4j.properties [new file with mode: 0644]
conf/lui-solr.in.sh [new file with mode: 0755]
conf/protwords.txt [deleted file]
conf/schema.xml [deleted file]
conf/scripts.conf [deleted file]
conf/solr-home/lui/conf/admin-extra.html [new file with mode: 0644]
conf/solr-home/lui/conf/admin-extra.menu-bottom.html [new file with mode: 0644]
conf/solr-home/lui/conf/admin-extra.menu-top.html [new file with mode: 0644]
conf/solr-home/lui/conf/protwords.txt [new file with mode: 0644]
conf/solr-home/lui/conf/schema.xml [new file with mode: 0644]
conf/solr-home/lui/conf/scripts.conf [new file with mode: 0644]
conf/solr-home/lui/conf/solrconfig.xml [new file with mode: 0644]
conf/solr-home/lui/conf/stopwords.txt [new file with mode: 0644]
conf/solr-home/lui/conf/synonyms.txt [new file with mode: 0644]
conf/solr-home/lui/core.properties [new file with mode: 0644]
conf/solr-home/solr.xml [new file with mode: 0644]
conf/solrconfig.xml [deleted file]
conf/stopwords.txt [deleted file]
conf/synonyms.txt [deleted file]
debian/compat
debian/control
debian/copyright
debian/dirs [new file with mode: 0644]
debian/install [new file with mode: 0644]
debian/links [new file with mode: 0644]
debian/masterkey-lui-solr4-master-tomcat6.postinst [deleted file]
debian/masterkey-lui-solr4-master-tomcat6.postrm [deleted file]
debian/masterkey-lui-solr4-master-tomcat8.postinst [deleted file]
debian/masterkey-lui-solr4-master-tomcat8.postrm [deleted file]
debian/masterkey-lui-solr4-slave-tomcat6.postinst [deleted file]
debian/masterkey-lui-solr4-slave-tomcat6.postrm [deleted file]
debian/masterkey-lui-solr4-slave-tomcat8.postinst [deleted file]
debian/masterkey-lui-solr4-slave-tomcat8.postrm [deleted file]
debian/postinst [new file with mode: 0755]
debian/postrm [new file with mode: 0755]
debian/rules

diff --git a/README b/README
index 5444f0f..1eff166 100644 (file)
--- a/README
+++ b/README
@@ -18,10 +18,7 @@ Adding a new record with the same id mean override the old record with new data.
 To build the Debian packages:
 $ ../git-tools/id-deb-build/id-mk-deb-changelog.sh && dpkg-buildpackage -us -uc
 
 To build the Debian packages:
 $ ../git-tools/id-deb-build/id-mk-deb-changelog.sh && dpkg-buildpackage -us -uc
 
-And to install a master Solr under Tomcat 8:
+And to install LUI Solr:
 $ cd ..
 $ cd ..
-$ sudo dpkg -i masterkey-lui-solr4-common_*.indexdata_all.deb 
-$ sudo dpkg -i masterkey-lui-solr4-common-tomcat8_*.indexdata_all.deb 
-$ sudo dpkg -i masterkey-lui-solr4-master_*.indexdata_all.deb 
-$ sudo dpkg -i masterkey-lui-solr4-master-tomcat8_*.indexdata_all.deb 
+$ sudo dpkg -i masterkey-lui-solr5_*.indexdata_all.deb
 
 
diff --git a/conf/admin-extra.html b/conf/admin-extra.html
deleted file mode 100644 (file)
index fecab20..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<!--
- 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.
--->
-
-<!-- The content of this page will be statically included into the top-
-right box of the cores overview page. Uncomment this as an example to 
-see there the content will show up.
-
-<img src="img/ico/construction.png"> This line will appear at the top-
-right box on collection1's Overview
--->
diff --git a/conf/admin-extra.menu-bottom.html b/conf/admin-extra.menu-bottom.html
deleted file mode 100644 (file)
index 3359a46..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
- 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.
--->
-
-<!-- admin-extra.menu-bottom.html -->
-<!--
-<li>
-  <a href="#" style="background-image: url(img/ico/construction.png);">
-    LAST ITEM
-  </a>
-</li>
--->
diff --git a/conf/admin-extra.menu-top.html b/conf/admin-extra.menu-top.html
deleted file mode 100644 (file)
index 0886cee..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
- 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.
--->
-
-<!-- admin-extra.menu-top.html -->
-<!--
-<li>
-  <a href="#" style="background-image: url(img/ico/construction.png);">
-    FIRST ITEM
-  </a>
-</li>
--->
diff --git a/conf/log4j.properties b/conf/log4j.properties
new file mode 100644 (file)
index 0000000..17b5462
--- /dev/null
@@ -0,0 +1,24 @@
+#  Logging level
+solr.log=/var/log/masterkey/lui
+log4j.rootLogger=INFO, file, CONSOLE
+
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+
+log4j.appender.CONSOLE.layout=org.apache.log4j.EnhancedPatternLayout
+log4j.appender.CONSOLE.layout.ConversionPattern=%-4r %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%n
+
+#- size rotation with log cleanup.
+log4j.appender.file=org.apache.log4j.RollingFileAppender
+log4j.appender.file.MaxFileSize=4MB
+log4j.appender.file.MaxBackupIndex=9
+
+#- File to log to and log format
+log4j.appender.file.File=${solr.log}/solr.log
+log4j.appender.file.layout=org.apache.log4j.EnhancedPatternLayout
+log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m\n
+
+log4j.logger.org.apache.zookeeper=WARN
+log4j.logger.org.apache.hadoop=WARN
+
+# set to INFO to enable infostream log messages
+log4j.logger.org.apache.solr.update.LoggingInfoStream=OFF
diff --git a/conf/lui-solr.in.sh b/conf/lui-solr.in.sh
new file mode 100755 (executable)
index 0000000..3ffd991
--- /dev/null
@@ -0,0 +1,121 @@
+# This file will be linked to /etc/default/lui-solr.in.sh
+# 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.
+
+# By default the script will use JAVA_HOME to determine which java
+# to use, but you can set a specific path for Solr to use without
+# affecting other Java applications on your server/workstation.
+#SOLR_JAVA_HOME=""
+
+# Increase Java Heap as needed to support your indexing / query needs
+SOLR_HEAP="512m"
+
+# Expert: If you want finer control over memory options, specify them directly
+# Comment out SOLR_HEAP if you are using this though, that takes precedence
+#SOLR_JAVA_MEM="-Xms512m -Xmx512m"
+
+# Enable verbose GC logging
+GC_LOG_OPTS="-verbose:gc -XX:+PrintHeapAtGC -XX:+PrintGCDetails \
+-XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime"
+
+# These GC settings have shown to work well for a number of common Solr workloads
+GC_TUNE="-XX:NewRatio=3 \
+-XX:SurvivorRatio=4 \
+-XX:TargetSurvivorRatio=90 \
+-XX:MaxTenuringThreshold=8 \
+-XX:+UseConcMarkSweepGC \
+-XX:+UseParNewGC \
+-XX:ConcGCThreads=4 -XX:ParallelGCThreads=4 \
+-XX:+CMSScavengeBeforeRemark \
+-XX:PretenureSizeThreshold=64m \
+-XX:+UseCMSInitiatingOccupancyOnly \
+-XX:CMSInitiatingOccupancyFraction=50 \
+-XX:CMSMaxAbortablePrecleanTime=6000 \
+-XX:+CMSParallelRemarkEnabled \
+-XX:+ParallelRefProcEnabled"
+
+# Set the ZooKeeper connection string if using an external ZooKeeper ensemble
+# e.g. host1:2181,host2:2181/chroot
+# Leave empty if not using SolrCloud
+#ZK_HOST=""
+
+# Set the ZooKeeper client timeout (for SolrCloud mode)
+#ZK_CLIENT_TIMEOUT="15000"
+
+# By default the start script uses "localhost"; override the hostname here
+# for production SolrCloud environments to control the hostname exposed to cluster state
+#SOLR_HOST="192.168.1.1"
+
+# By default the start script uses UTC; override the timezone if needed
+#SOLR_TIMEZONE="UTC"
+
+# Set to true to activate the JMX RMI connector to allow remote JMX client applications
+# to monitor the JVM hosting Solr; set to "false" to disable that behavior
+# (false is recommended in production environments)
+ENABLE_REMOTE_JMX_OPTS="false"
+
+# The script will use SOLR_PORT+10000 for the RMI_PORT or you can set it here
+# RMI_PORT=18983
+
+# Set the thread stack size
+SOLR_OPTS="$SOLR_OPTS -Xss256k"
+
+# Anything you add to the SOLR_OPTS variable will be included in the java
+# start command line as-is, in ADDITION to other options. If you specify the
+# -a option on start script, those options will be appended as well. Examples:
+#SOLR_OPTS="$SOLR_OPTS -Dsolr.autoSoftCommit.maxTime=3000"
+#SOLR_OPTS="$SOLR_OPTS -Dsolr.autoCommit.maxTime=60000"
+#SOLR_OPTS="$SOLR_OPTS -Dsolr.clustering.enabled=true"
+
+# Location where the bin/solr script will save PID files for running instances
+# If not set, the script will create PID files in $SOLR_TIP/bin
+SOLR_PID_DIR=/var/lib/masterkey/lui
+
+# Path to a directory for Solr to store cores and their data. By default, Solr will use server/solr
+# If solr.xml is not stored in ZooKeeper, this directory needs to contain solr.xml
+SOLR_HOME=/etc/masterkey/lui/solr-home
+
+# Solr provides a default Log4J configuration properties file in server/resources
+# however, you may want to customize the log settings and file appender location
+# so you can point the script to use a different log4j.properties file
+LOG4J_PROPS=/etc/masterkey/lui/log4j.properties
+
+# Location where Solr should write logs to; should agree with the file appender
+# settings in server/resources/log4j.properties
+SOLR_LOGS_DIR=/var/log/masterkey/lui
+
+# Sets the port Solr binds to, default is 8983
+#SOLR_PORT=8983
+
+# Uncomment to set SSL-related system properties
+# Be sure to update the paths to the correct keystore for your environment
+#SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
+#SOLR_SSL_KEY_STORE_PASSWORD=secret
+#SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
+#SOLR_SSL_TRUST_STORE_PASSWORD=secret
+#SOLR_SSL_NEED_CLIENT_AUTH=false
+#SOLR_SSL_WANT_CLIENT_AUTH=false
+
+# Uncomment if you want to override previously defined SSL values for HTTP client
+# otherwise keep them commented and the above values will automatically be set for HTTP clients
+#SOLR_SSL_CLIENT_KEY_STORE=
+#SOLR_SSL_CLIENT_KEY_STORE_PASSWORD=
+#SOLR_SSL_CLIENT_TRUST_STORE=
+#SOLR_SSL_CLIENT_TRUST_STORE_PASSWORD=
+
+# Settings for authentication
+#SOLR_AUTHENTICATION_CLIENT_CONFIGURER=
+#SOLR_AUTHENTICATION_OPTS=
+
diff --git a/conf/protwords.txt b/conf/protwords.txt
deleted file mode 100644 (file)
index 1dfc0ab..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# 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.
-
-#-----------------------------------------------------------------------
-# Use a protected word file to protect against the stemmer reducing two
-# unrelated words to the same base word.
-
-# Some non-words that normally won't be encountered,
-# just to test that they won't be stemmed.
-dontstems
-zwhacky
-
diff --git a/conf/schema.xml b/conf/schema.xml
deleted file mode 100644 (file)
index 9253610..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--  
- This is the Solr schema file for the Index Data Local Unified
- Index. This file should be named "schema.xml" and should be in the
- conf directory for the solr core
- (i.e. /etc/masterkey/lui/solr-config/schema.xml by default).
- For customization, see https://wiki.apache.org/solr/SchemaXml and the
- Schema Design section of the Solr Reference Guide.
--->
-
-<schema name="Local Unified Index" version="1.6">
-
-    <!-- stock Solr field types from the dist schema.xml -->
-    <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
-    <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" omitNorms="true"/>
-    <fieldtype name="binary" class="solr.BinaryField"/>
-    <fieldType name="int" class="solr.TrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
-    <fieldType name="float" class="solr.TrieFloatField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
-    <fieldType name="long" class="solr.TrieLongField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
-    <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
-    <fieldType name="tint" class="solr.TrieIntField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
-    <fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
-    <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
-    <fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
-    <fieldType name="date" class="solr.TrieDateField" omitNorms="true" precisionStep="0" positionIncrementGap="0"/>
-    <fieldType name="tdate" class="solr.TrieDateField" omitNorms="true" precisionStep="6" positionIncrementGap="0"/>
-
-    <fieldType name="facet" class="solr.TextField" sortMissingLast="true" omitNorms="true">
-      <analyzer>
-        <tokenizer class="solr.KeywordTokenizerFactory"/>
-        <filter class="solr.LowerCaseFilterFactory" />
-        <filter class="solr.TrimFilterFactory" />
-      </analyzer>
-    </fieldType>
-
-    <fieldType name="random" class="solr.RandomSortField" indexed="true" />
-
-    <fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
-      <analyzer>
-        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
-      </analyzer>
-    </fieldType>
-
-    <fieldType name="text" class="solr.TextField" positionIncrementGap="100">
-      <analyzer type="index">
-        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
-        <filter class="solr.StopFilterFactory"
-                ignoreCase="true"
-                words="stopwords.txt"
-                />
-        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
-        <filter class="solr.LowerCaseFilterFactory"/>
-        <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
-      </analyzer>
-      <analyzer type="query">
-        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
-        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
-        <filter class="solr.StopFilterFactory"
-                ignoreCase="true"
-                words="stopwords.txt"
-                />
-        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
-        <filter class="solr.LowerCaseFilterFactory"/>
-        <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
-      </analyzer>
-    </fieldType>
-
-    <fieldType name="textTight" class="solr.TextField" positionIncrementGap="100" >
-      <analyzer>
-        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
-        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
-        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
-        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
-        <filter class="solr.LowerCaseFilterFactory"/>
-        <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
-        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
-      </analyzer>
-    </fieldType>
-
-    <fieldType name="textgen" class="solr.TextField" positionIncrementGap="100">
-      <analyzer type="index">
-        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
-        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
-        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0"/>
-        <filter class="solr.LowerCaseFilterFactory"/>
-      </analyzer>
-      <analyzer type="query">
-        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
-        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
-        <filter class="solr.StopFilterFactory"
-                ignoreCase="true"
-                words="stopwords.txt"
-                />
-        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>
-        <filter class="solr.LowerCaseFilterFactory"/>
-      </analyzer>
-    </fieldType>
-
-    <fieldType name="text_rev" class="solr.TextField" positionIncrementGap="100">
-      <analyzer type="index">
-        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
-        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
-        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0"/>
-        <filter class="solr.LowerCaseFilterFactory"/>
-        <filter class="solr.ReversedWildcardFilterFactory" withOriginal="true"
-           maxPosAsterisk="3" maxPosQuestion="2" maxFractionAsterisk="0.33"/>
-      </analyzer>
-      <analyzer type="query">
-        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
-        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
-        <filter class="solr.StopFilterFactory"
-                ignoreCase="true"
-                words="stopwords.txt"
-                />
-        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>
-        <filter class="solr.LowerCaseFilterFactory"/>
-      </analyzer>
-    </fieldType>
-
-    <fieldType name="alphaOnlySort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
-      <analyzer>
-        <tokenizer class="solr.KeywordTokenizerFactory"/>
-        <filter class="solr.LowerCaseFilterFactory" />
-        <filter class="solr.TrimFilterFactory" />
-        <filter class="solr.PatternReplaceFilterFactory"
-                pattern="([^a-z])" replacement="" replace="all"
-        />
-      </analyzer>
-    </fieldType>
-    
-    <fieldtype name="phonetic" stored="false" indexed="true" class="solr.TextField" >
-      <analyzer>
-        <tokenizer class="solr.StandardTokenizerFactory"/>
-        <filter class="solr.DoubleMetaphoneFilterFactory" inject="false"/>
-      </analyzer>
-    </fieldtype>
-
-    <fieldtype name="payloads" stored="false" indexed="true" class="solr.TextField" >
-      <analyzer>
-        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
-        <filter class="solr.DelimitedPayloadTokenFilterFactory" encoder="float"/>
-      </analyzer>
-    </fieldtype>
-
-    <fieldType name="lowercase" class="solr.TextField" positionIncrementGap="100">
-      <analyzer>
-        <tokenizer class="solr.KeywordTokenizerFactory"/>
-        <filter class="solr.LowerCaseFilterFactory" />
-      </analyzer>
-    </fieldType>
-
-    <fieldtype name="ignored" stored="false" indexed="false" multiValued="true" class="solr.StrField" /> 
-
-   <!-- defined fields in the lui-solr schema -->
-
-   <field name="id" type="string" indexed="true" stored="true" required="true" /> 
-   <field name="_version_" type="long" indexed="true" stored="true"/>
-
-   <field name="transactionId" type="long" indexed="true" stored="false"/>
-
-   <field name="author"       type="text"   indexed="true" stored="true"  multiValued="true" omitNorms="true"/>
-   <field name="author_exact" type="string" indexed="true" stored="false" multiValued="true" omitNorms="true" docValues="true" />
-   <field name="author-date"  type="text"   indexed="true" stored="true"  multiValued="true" omitNorms="true"/>
-   <field name="author-title" type="text"   indexed="true" stored="true"  multiValued="true" omitNorms="true"/>
-
-   <field name="corporate-date"     type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
-   <field name="corporate-location" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
-   <field name="corporate-name"     type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
-
-   <field name="callnumber" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
-   <field name="citation"   type="text" indexed="true" stored="true" multiValued="true"  omitNorms="true"/>
-
-   <field name="date"        type="text"    indexed="true" stored="true" multiValued="true" omitNorms="true"/>
-   <field name="description" type="text_ws" indexed="true" stored="true" multiValued="true"  omitNorms="true"/>
-
-   <field name="edition" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
-
-   <field name="electronic-format-instruction" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
-   <field name="electronic-format-type"        type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
-   <field name="electronic-note"               type="text" indexed="true" stored="true" multiValued="true"  omitNorms="true"/>
-   <field name="electronic-text"               type="text" indexed="true" stored="true" multiValued="true"  omitNorms="true"/>
-   <field name="electronic-url"                type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
-
-   <field name="isbn" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
-   <field name="issn" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
-   <field name="lccn" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
-
-   <field name="medium"       type="text"  indexed="true" stored="true"   multiValued="true" omitNorms="true"/>
-   <field name="medium_exact" type="string" indexed="true" stored="false" multiValued="true" omitNorms="true" docValues="true" />
-
-   <field name="meeting-date"     type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
-   <field name="meeting-location" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
-   <field name="meeting-name"     type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
-
-   <field name="series-title" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
-
-   <field name="subject"       type="text_ws" indexed="true" stored="true"  multiValued="true" omitNorms="true" />
-   <field name="subject_exact" type="string"  indexed="true" stored="false" multiValued="true" omitNorms="true" docValues="true" />
-   <field name="subject-long"  type="text_ws" indexed="true" stored="true"  multiValued="true" omitNorms="true" />
-
-   <field name="system-control-nr" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
-
-   <field name="tech-rep-nr" type="text" indexed="true" multiValued="true" stored="true"/>
-
-   <field name="title"                  type="text"   indexed="true" multiValued="true" stored="true"/>
-   <field name="title-complete"         type="text"   indexed="true" multiValued="true" stored="true"/>
-   <field name="title-dates"            type="text"   indexed="true" multiValued="true" stored="true"/>
-   <field name="title-medium"           type="text"   indexed="true" multiValued="true" stored="true"/>
-   <field name="title-number-section"   type="text"   indexed="true" multiValued="true" stored="true"/>
-   <field name="title-remainder"        type="text"   indexed="true" multiValued="true" stored="true"/>
-   <field name="title-responsibility"   type="text"   indexed="true" multiValued="true" stored="true"/>
-   <field name="title-uniform"          type="text"   indexed="true" multiValued="true" stored="true"/>
-   <field name="title-uniform-key"      type="text"   indexed="true" multiValued="true" stored="true"/>
-   <field name="title-uniform-media"    type="text"   indexed="true" multiValued="true" stored="true"/>
-   <field name="title-uniform-partname" type="text"   indexed="true" multiValued="true" stored="true"/>
-   <field name="title-uniform-parts"    type="text"   indexed="true" multiValued="true" stored="true"/>
-
-   <field name="journal-title"          type="text" indexed="true" multiValued="true"  stored="true" />
-   <field name="journal-title_exact"    type="string" indexed="true" multiValued="true"  stored="false" docValues="true" />
-
-   <field name="physical-accomp"     type="text" indexed="true" stored="true" multiValued="true" />
-   <field name="physical-dimensions" type="text" indexed="true" stored="true" multiValued="true" />
-   <field name="physical-extent"     type="text" indexed="true" stored="true" multiValued="true" />
-   <field name="physical-format"     type="text" indexed="true" stored="true" multiValued="true" />
-   <field name="physical-specified"  type="text" indexed="true" stored="true" multiValued="true" />
-   <field name="physical-unitsize"   type="text" indexed="true" stored="true" multiValued="true" />
-   <field name="physical-unittype"   type="text" indexed="true" stored="true" multiValued="true" />
-
-   <field name="publication-date"  type="text" indexed="true" stored="true" multiValued="true" />
-   <field name="publication-name"  type="text" indexed="true" stored="true" multiValued="true" />
-   <field name="publication-place" type="text" indexed="true" stored="true" multiValued="true" />
-
-   <field name="harvest-timestamp" type="date"   indexed="true" stored="true"/>
-   <field name="harvest-date"      type="string" indexed="true" stored="true"/>
-
-   <!-- default search field, created by the clone-fields update
-        processor chain in solrconfig.xml -->
-   <field name="text" type="text" indexed="true" stored="false" multiValued="true"/>
-
-   <!-- Dynamic field definitions -->
-   <dynamicField name="*_i"  type="int"    indexed="true"  stored="true"/>
-   <dynamicField name="*_s"  type="string"  indexed="true"  stored="true"/>
-   <dynamicField name="*_l"  type="long"   indexed="true"  stored="true"/>
-   <dynamicField name="*_t"  type="text"    indexed="true"  stored="true"/>
-   <dynamicField name="*_b"  type="boolean" indexed="true"  stored="true"/>
-   <dynamicField name="*_f"  type="float"  indexed="true"  stored="true"/>
-   <dynamicField name="*_d"  type="double" indexed="true"  stored="true"/>
-   <dynamicField name="*_dt" type="date"    indexed="true"  stored="true"/>
-   <dynamicField name="*_ti" type="tint"    indexed="true"  stored="true"/>
-   <dynamicField name="*_tl" type="tlong"   indexed="true"  stored="true"/>
-   <dynamicField name="*_tf" type="tfloat"  indexed="true"  stored="true"/>
-   <dynamicField name="*_td" type="tdouble" indexed="true"  stored="true"/>
-   <dynamicField name="*_tdt" type="tdate"  indexed="true"  stored="true"/>
-   <dynamicField name="ignored_*" type="ignored" multiValued="true"/>
-   <dynamicField name="attr_*" type="textgen" indexed="true" stored="true" multiValued="true"/>
-   <dynamicField name="random_*" type="random" />
-   <dynamicField name="*_binary" type="binary" indexed="false" stored="true" multiValued="true"/>
-   <dynamicField name="*_path" type="text" indexed="true" stored="true" multiValued="true"/>
-
-   <!-- catchall dynamic field -->
-   <dynamicField name="*" type="text" multiValued="true"/>
-
- <uniqueKey>id</uniqueKey>
-
- <!-- copyField commands -->
- <copyField source="author"  dest="author_exact"/>
- <copyField source="subject" dest="subject_exact"/>
- <copyField source="medium"  dest="medium_exact"/>
- <copyField source="journal-title"   dest="journal-title_exact"/>
-
-</schema>
diff --git a/conf/scripts.conf b/conf/scripts.conf
deleted file mode 100644 (file)
index 8360488..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# 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.
-
-user=
-solr_hostname=localhost
-solr_port=8984
-rsyncd_port=18984
-data_dir=
-webapp_name=solr
-master_host=
-master_data_dir=
-master_status_dir=
diff --git a/conf/solr-home/lui/conf/admin-extra.html b/conf/solr-home/lui/conf/admin-extra.html
new file mode 100644 (file)
index 0000000..fecab20
--- /dev/null
@@ -0,0 +1,24 @@
+<!--
+ 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.
+-->
+
+<!-- The content of this page will be statically included into the top-
+right box of the cores overview page. Uncomment this as an example to 
+see there the content will show up.
+
+<img src="img/ico/construction.png"> This line will appear at the top-
+right box on collection1's Overview
+-->
diff --git a/conf/solr-home/lui/conf/admin-extra.menu-bottom.html b/conf/solr-home/lui/conf/admin-extra.menu-bottom.html
new file mode 100644 (file)
index 0000000..3359a46
--- /dev/null
@@ -0,0 +1,25 @@
+<!--
+ 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.
+-->
+
+<!-- admin-extra.menu-bottom.html -->
+<!--
+<li>
+  <a href="#" style="background-image: url(img/ico/construction.png);">
+    LAST ITEM
+  </a>
+</li>
+-->
diff --git a/conf/solr-home/lui/conf/admin-extra.menu-top.html b/conf/solr-home/lui/conf/admin-extra.menu-top.html
new file mode 100644 (file)
index 0000000..0886cee
--- /dev/null
@@ -0,0 +1,25 @@
+<!--
+ 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.
+-->
+
+<!-- admin-extra.menu-top.html -->
+<!--
+<li>
+  <a href="#" style="background-image: url(img/ico/construction.png);">
+    FIRST ITEM
+  </a>
+</li>
+-->
diff --git a/conf/solr-home/lui/conf/protwords.txt b/conf/solr-home/lui/conf/protwords.txt
new file mode 100644 (file)
index 0000000..1dfc0ab
--- /dev/null
@@ -0,0 +1,21 @@
+# 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.
+
+#-----------------------------------------------------------------------
+# Use a protected word file to protect against the stemmer reducing two
+# unrelated words to the same base word.
+
+# Some non-words that normally won't be encountered,
+# just to test that they won't be stemmed.
+dontstems
+zwhacky
+
diff --git a/conf/solr-home/lui/conf/schema.xml b/conf/solr-home/lui/conf/schema.xml
new file mode 100644 (file)
index 0000000..9253610
--- /dev/null
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--  
+ This is the Solr schema file for the Index Data Local Unified
+ Index. This file should be named "schema.xml" and should be in the
+ conf directory for the solr core
+ (i.e. /etc/masterkey/lui/solr-config/schema.xml by default).
+ For customization, see https://wiki.apache.org/solr/SchemaXml and the
+ Schema Design section of the Solr Reference Guide.
+-->
+
+<schema name="Local Unified Index" version="1.6">
+
+    <!-- stock Solr field types from the dist schema.xml -->
+    <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
+    <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" omitNorms="true"/>
+    <fieldtype name="binary" class="solr.BinaryField"/>
+    <fieldType name="int" class="solr.TrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
+    <fieldType name="float" class="solr.TrieFloatField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
+    <fieldType name="long" class="solr.TrieLongField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
+    <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
+    <fieldType name="tint" class="solr.TrieIntField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
+    <fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
+    <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
+    <fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
+    <fieldType name="date" class="solr.TrieDateField" omitNorms="true" precisionStep="0" positionIncrementGap="0"/>
+    <fieldType name="tdate" class="solr.TrieDateField" omitNorms="true" precisionStep="6" positionIncrementGap="0"/>
+
+    <fieldType name="facet" class="solr.TextField" sortMissingLast="true" omitNorms="true">
+      <analyzer>
+        <tokenizer class="solr.KeywordTokenizerFactory"/>
+        <filter class="solr.LowerCaseFilterFactory" />
+        <filter class="solr.TrimFilterFactory" />
+      </analyzer>
+    </fieldType>
+
+    <fieldType name="random" class="solr.RandomSortField" indexed="true" />
+
+    <fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
+      <analyzer>
+        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+      </analyzer>
+    </fieldType>
+
+    <fieldType name="text" class="solr.TextField" positionIncrementGap="100">
+      <analyzer type="index">
+        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+        <filter class="solr.StopFilterFactory"
+                ignoreCase="true"
+                words="stopwords.txt"
+                />
+        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
+        <filter class="solr.LowerCaseFilterFactory"/>
+        <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
+      </analyzer>
+      <analyzer type="query">
+        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
+        <filter class="solr.StopFilterFactory"
+                ignoreCase="true"
+                words="stopwords.txt"
+                />
+        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
+        <filter class="solr.LowerCaseFilterFactory"/>
+        <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
+      </analyzer>
+    </fieldType>
+
+    <fieldType name="textTight" class="solr.TextField" positionIncrementGap="100" >
+      <analyzer>
+        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
+        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
+        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
+        <filter class="solr.LowerCaseFilterFactory"/>
+        <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
+        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
+      </analyzer>
+    </fieldType>
+
+    <fieldType name="textgen" class="solr.TextField" positionIncrementGap="100">
+      <analyzer type="index">
+        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
+        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0"/>
+        <filter class="solr.LowerCaseFilterFactory"/>
+      </analyzer>
+      <analyzer type="query">
+        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
+        <filter class="solr.StopFilterFactory"
+                ignoreCase="true"
+                words="stopwords.txt"
+                />
+        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>
+        <filter class="solr.LowerCaseFilterFactory"/>
+      </analyzer>
+    </fieldType>
+
+    <fieldType name="text_rev" class="solr.TextField" positionIncrementGap="100">
+      <analyzer type="index">
+        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
+        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0"/>
+        <filter class="solr.LowerCaseFilterFactory"/>
+        <filter class="solr.ReversedWildcardFilterFactory" withOriginal="true"
+           maxPosAsterisk="3" maxPosQuestion="2" maxFractionAsterisk="0.33"/>
+      </analyzer>
+      <analyzer type="query">
+        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
+        <filter class="solr.StopFilterFactory"
+                ignoreCase="true"
+                words="stopwords.txt"
+                />
+        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>
+        <filter class="solr.LowerCaseFilterFactory"/>
+      </analyzer>
+    </fieldType>
+
+    <fieldType name="alphaOnlySort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
+      <analyzer>
+        <tokenizer class="solr.KeywordTokenizerFactory"/>
+        <filter class="solr.LowerCaseFilterFactory" />
+        <filter class="solr.TrimFilterFactory" />
+        <filter class="solr.PatternReplaceFilterFactory"
+                pattern="([^a-z])" replacement="" replace="all"
+        />
+      </analyzer>
+    </fieldType>
+    
+    <fieldtype name="phonetic" stored="false" indexed="true" class="solr.TextField" >
+      <analyzer>
+        <tokenizer class="solr.StandardTokenizerFactory"/>
+        <filter class="solr.DoubleMetaphoneFilterFactory" inject="false"/>
+      </analyzer>
+    </fieldtype>
+
+    <fieldtype name="payloads" stored="false" indexed="true" class="solr.TextField" >
+      <analyzer>
+        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
+        <filter class="solr.DelimitedPayloadTokenFilterFactory" encoder="float"/>
+      </analyzer>
+    </fieldtype>
+
+    <fieldType name="lowercase" class="solr.TextField" positionIncrementGap="100">
+      <analyzer>
+        <tokenizer class="solr.KeywordTokenizerFactory"/>
+        <filter class="solr.LowerCaseFilterFactory" />
+      </analyzer>
+    </fieldType>
+
+    <fieldtype name="ignored" stored="false" indexed="false" multiValued="true" class="solr.StrField" /> 
+
+   <!-- defined fields in the lui-solr schema -->
+
+   <field name="id" type="string" indexed="true" stored="true" required="true" /> 
+   <field name="_version_" type="long" indexed="true" stored="true"/>
+
+   <field name="transactionId" type="long" indexed="true" stored="false"/>
+
+   <field name="author"       type="text"   indexed="true" stored="true"  multiValued="true" omitNorms="true"/>
+   <field name="author_exact" type="string" indexed="true" stored="false" multiValued="true" omitNorms="true" docValues="true" />
+   <field name="author-date"  type="text"   indexed="true" stored="true"  multiValued="true" omitNorms="true"/>
+   <field name="author-title" type="text"   indexed="true" stored="true"  multiValued="true" omitNorms="true"/>
+
+   <field name="corporate-date"     type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
+   <field name="corporate-location" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
+   <field name="corporate-name"     type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
+
+   <field name="callnumber" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
+   <field name="citation"   type="text" indexed="true" stored="true" multiValued="true"  omitNorms="true"/>
+
+   <field name="date"        type="text"    indexed="true" stored="true" multiValued="true" omitNorms="true"/>
+   <field name="description" type="text_ws" indexed="true" stored="true" multiValued="true"  omitNorms="true"/>
+
+   <field name="edition" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
+
+   <field name="electronic-format-instruction" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
+   <field name="electronic-format-type"        type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
+   <field name="electronic-note"               type="text" indexed="true" stored="true" multiValued="true"  omitNorms="true"/>
+   <field name="electronic-text"               type="text" indexed="true" stored="true" multiValued="true"  omitNorms="true"/>
+   <field name="electronic-url"                type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
+
+   <field name="isbn" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
+   <field name="issn" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
+   <field name="lccn" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
+
+   <field name="medium"       type="text"  indexed="true" stored="true"   multiValued="true" omitNorms="true"/>
+   <field name="medium_exact" type="string" indexed="true" stored="false" multiValued="true" omitNorms="true" docValues="true" />
+
+   <field name="meeting-date"     type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
+   <field name="meeting-location" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
+   <field name="meeting-name"     type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
+
+   <field name="series-title" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
+
+   <field name="subject"       type="text_ws" indexed="true" stored="true"  multiValued="true" omitNorms="true" />
+   <field name="subject_exact" type="string"  indexed="true" stored="false" multiValued="true" omitNorms="true" docValues="true" />
+   <field name="subject-long"  type="text_ws" indexed="true" stored="true"  multiValued="true" omitNorms="true" />
+
+   <field name="system-control-nr" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
+
+   <field name="tech-rep-nr" type="text" indexed="true" multiValued="true" stored="true"/>
+
+   <field name="title"                  type="text"   indexed="true" multiValued="true" stored="true"/>
+   <field name="title-complete"         type="text"   indexed="true" multiValued="true" stored="true"/>
+   <field name="title-dates"            type="text"   indexed="true" multiValued="true" stored="true"/>
+   <field name="title-medium"           type="text"   indexed="true" multiValued="true" stored="true"/>
+   <field name="title-number-section"   type="text"   indexed="true" multiValued="true" stored="true"/>
+   <field name="title-remainder"        type="text"   indexed="true" multiValued="true" stored="true"/>
+   <field name="title-responsibility"   type="text"   indexed="true" multiValued="true" stored="true"/>
+   <field name="title-uniform"          type="text"   indexed="true" multiValued="true" stored="true"/>
+   <field name="title-uniform-key"      type="text"   indexed="true" multiValued="true" stored="true"/>
+   <field name="title-uniform-media"    type="text"   indexed="true" multiValued="true" stored="true"/>
+   <field name="title-uniform-partname" type="text"   indexed="true" multiValued="true" stored="true"/>
+   <field name="title-uniform-parts"    type="text"   indexed="true" multiValued="true" stored="true"/>
+
+   <field name="journal-title"          type="text" indexed="true" multiValued="true"  stored="true" />
+   <field name="journal-title_exact"    type="string" indexed="true" multiValued="true"  stored="false" docValues="true" />
+
+   <field name="physical-accomp"     type="text" indexed="true" stored="true" multiValued="true" />
+   <field name="physical-dimensions" type="text" indexed="true" stored="true" multiValued="true" />
+   <field name="physical-extent"     type="text" indexed="true" stored="true" multiValued="true" />
+   <field name="physical-format"     type="text" indexed="true" stored="true" multiValued="true" />
+   <field name="physical-specified"  type="text" indexed="true" stored="true" multiValued="true" />
+   <field name="physical-unitsize"   type="text" indexed="true" stored="true" multiValued="true" />
+   <field name="physical-unittype"   type="text" indexed="true" stored="true" multiValued="true" />
+
+   <field name="publication-date"  type="text" indexed="true" stored="true" multiValued="true" />
+   <field name="publication-name"  type="text" indexed="true" stored="true" multiValued="true" />
+   <field name="publication-place" type="text" indexed="true" stored="true" multiValued="true" />
+
+   <field name="harvest-timestamp" type="date"   indexed="true" stored="true"/>
+   <field name="harvest-date"      type="string" indexed="true" stored="true"/>
+
+   <!-- default search field, created by the clone-fields update
+        processor chain in solrconfig.xml -->
+   <field name="text" type="text" indexed="true" stored="false" multiValued="true"/>
+
+   <!-- Dynamic field definitions -->
+   <dynamicField name="*_i"  type="int"    indexed="true"  stored="true"/>
+   <dynamicField name="*_s"  type="string"  indexed="true"  stored="true"/>
+   <dynamicField name="*_l"  type="long"   indexed="true"  stored="true"/>
+   <dynamicField name="*_t"  type="text"    indexed="true"  stored="true"/>
+   <dynamicField name="*_b"  type="boolean" indexed="true"  stored="true"/>
+   <dynamicField name="*_f"  type="float"  indexed="true"  stored="true"/>
+   <dynamicField name="*_d"  type="double" indexed="true"  stored="true"/>
+   <dynamicField name="*_dt" type="date"    indexed="true"  stored="true"/>
+   <dynamicField name="*_ti" type="tint"    indexed="true"  stored="true"/>
+   <dynamicField name="*_tl" type="tlong"   indexed="true"  stored="true"/>
+   <dynamicField name="*_tf" type="tfloat"  indexed="true"  stored="true"/>
+   <dynamicField name="*_td" type="tdouble" indexed="true"  stored="true"/>
+   <dynamicField name="*_tdt" type="tdate"  indexed="true"  stored="true"/>
+   <dynamicField name="ignored_*" type="ignored" multiValued="true"/>
+   <dynamicField name="attr_*" type="textgen" indexed="true" stored="true" multiValued="true"/>
+   <dynamicField name="random_*" type="random" />
+   <dynamicField name="*_binary" type="binary" indexed="false" stored="true" multiValued="true"/>
+   <dynamicField name="*_path" type="text" indexed="true" stored="true" multiValued="true"/>
+
+   <!-- catchall dynamic field -->
+   <dynamicField name="*" type="text" multiValued="true"/>
+
+ <uniqueKey>id</uniqueKey>
+
+ <!-- copyField commands -->
+ <copyField source="author"  dest="author_exact"/>
+ <copyField source="subject" dest="subject_exact"/>
+ <copyField source="medium"  dest="medium_exact"/>
+ <copyField source="journal-title"   dest="journal-title_exact"/>
+
+</schema>
diff --git a/conf/solr-home/lui/conf/scripts.conf b/conf/solr-home/lui/conf/scripts.conf
new file mode 100644 (file)
index 0000000..8360488
--- /dev/null
@@ -0,0 +1,24 @@
+# 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.
+
+user=
+solr_hostname=localhost
+solr_port=8984
+rsyncd_port=18984
+data_dir=
+webapp_name=solr
+master_host=
+master_data_dir=
+master_status_dir=
diff --git a/conf/solr-home/lui/conf/solrconfig.xml b/conf/solr-home/lui/conf/solrconfig.xml
new file mode 100644 (file)
index 0000000..500518c
--- /dev/null
@@ -0,0 +1,262 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--  
+     This is the Solr core configuration file for the Index Data Local
+     Unified Index.
+     
+     For more details about configurations options that may appear in
+     this file, see http://wiki.apache.org/solr/SolrConfigXml and the
+     "Configuring solrconfig.xml" section of the Solr Reference
+     Guide.
+-->
+<config>
+
+  <luceneMatchVersion>5.5.1</luceneMatchVersion>
+  <dataDir>${solr.data.dir:/var/lib/masterkey/lui/data/lui}</dataDir>
+  <directoryFactory name="DirectoryFactory" 
+                    class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/> 
+  <codecFactory class="solr.SchemaCodecFactory"/>
+
+  <!-- Use the ClassicIndexSchemaFactory, not Managed -->
+  <schemaFactory class="ClassicIndexSchemaFactory"/>
+
+  <indexConfig>
+    <lockType>${solr.lock.type:native}</lockType>
+    <!-- logging controlled through log4j.properties -->
+     <infoStream>true</infoStream>
+  </indexConfig>
+
+
+  <!--
+       Enable JMX if and only if an existing MBeanServer
+       is found.
+  -->
+  <jmx />
+
+  <!-- The default high-performance update handler -->
+  <updateHandler class="solr.DirectUpdateHandler2">
+
+    <updateLog>
+      <str name="dir">${solr.ulog.dir:}</str>
+    </updateLog>
+
+    <autoCommit> 
+      <maxTime>${solr.autoCommit.maxTime:15000}</maxTime> 
+      <openSearcher>false</openSearcher> 
+    </autoCommit>
+    
+    <autoSoftCommit> 
+      <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime> 
+    </autoSoftCommit>
+
+
+  </updateHandler>
+  
+  <query>
+
+    <maxBooleanClauses>1024</maxBooleanClauses>
+
+    <filterCache class="solr.FastLRUCache"
+                 size="512"
+                 initialSize="512"
+                 autowarmCount="0"/>
+
+    <queryResultCache class="solr.LRUCache"
+                     size="512"
+                     initialSize="512"
+                     autowarmCount="0"/>
+   
+    <documentCache class="solr.LRUCache"
+                   size="512"
+                   initialSize="512"
+                   autowarmCount="0"/>
+    
+    <enableLazyFieldLoading>true</enableLazyFieldLoading>
+    <queryResultWindowSize>20</queryResultWindowSize>
+    <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
+
+   <!-- Query Related Event Listeners: warm up the facet cache -->
+    <listener event="newSearcher" class="solr.QuerySenderListener">
+      <arr name="queries">
+        <lst>
+         <str name="q">database:*</str>
+         <str name="facet">true</str>
+         <str name="facet.mincount">1</str>
+         <str name="facet.field">author_exact</str>
+         <str name="facet.field">subject_exact</str>
+         <str name="facet.field">medium_exact</str>
+         <str name="facet.field">date</str>
+         <str name="facet.field">database</str>
+        </lst>
+      </arr>
+    </listener>
+
+    <listener event="firstSearcher" class="solr.QuerySenderListener">
+      <arr name="queries">
+        <lst>
+         <str name="q">database:*</str>
+         <str name="facet">true</str>
+         <str name="facet.mincount">1</str>
+         <str name="facet.field">author_exact</str>
+         <str name="facet.field">subject_exact</str>
+         <str name="facet.field">medium_exact</str>
+         <str name="facet.field">date</str>
+         <str name="facet.field">database</str>
+        </lst>
+      </arr>
+    </listener>
+
+    <useColdSearcher>false</useColdSearcher>
+    <maxWarmingSearchers>2</maxWarmingSearchers>
+
+  </query>
+
+  <requestDispatcher handleSelect="false" >
+
+    <requestParsers enableRemoteStreaming="true" 
+                    multipartUploadLimitInKB="2048000"
+                    formdataUploadLimitInKB="2048"
+                    addHttpRequestToContext="false"/>
+
+    <httpCaching never304="true" />
+    
+  </requestDispatcher>
+
+  <!-- Request Handlers -->
+
+  <requestHandler name="/select" class="solr.SearchHandler">
+     <lst name="defaults">
+       <str name="echoParams">explicit</str>
+       <int name="rows">10</int>
+       <str name="df">text</str>
+       <str name="fl">*,score</str>
+       <str name="q.op">AND</str>
+     </lst>
+  </requestHandler>
+
+  <requestHandler name="/query" class="solr.SearchHandler">
+     <lst name="defaults">
+       <str name="echoParams">explicit</str>
+       <str name="wt">json</str>
+       <str name="indent">true</str>
+       <str name="df">text</str>
+       <str name="fl">*,score</str>
+       <str name="q.op">AND</str>
+     </lst>
+  </requestHandler>
+
+  <requestHandler name="/get" class="solr.RealTimeGetHandler">
+     <lst name="defaults">
+       <str name="omitHeader">true</str>
+       <str name="wt">json</str>
+       <str name="indent">true</str>
+     </lst>
+  </requestHandler>
+
+  <requestHandler name="/export" class="solr.SearchHandler">
+    <lst name="invariants">
+      <str name="rq">{!xport}</str>
+      <str name="wt">xsort</str>
+      <str name="distrib">false</str>
+    </lst>
+
+    <arr name="components">
+      <str>query</str>
+    </arr>
+  </requestHandler>
+
+  <!-- Update Request Handlers -->
+  
+  <initParams path="/update/**">
+    <lst name="defaults">
+      <str name="update.chain">clone-fields</str>
+    </lst>
+  </initParams>
+
+  <requestHandler name="/update" class="solr.UpdateRequestHandler" />
+
+  <requestHandler name="/update/extract" 
+                  startup="lazy"
+                  class="solr.extraction.ExtractingRequestHandler" >
+    <lst name="defaults">
+      <str name="lowernames">true</str>
+      <str name="uprefix">ignored_</str>
+
+      <!-- capture link hrefs but ignore div attributes -->
+      <str name="captureAttr">true</str>
+      <str name="fmap.a">links</str>
+      <str name="fmap.div">ignored_</str>
+    </lst>
+  </requestHandler>
+
+  <!-- analysis handlers -->
+       
+  <requestHandler name="/analysis/field" 
+                  startup="lazy"
+                  class="solr.FieldAnalysisRequestHandler" />
+
+  <requestHandler name="/analysis/document" 
+                  class="solr.DocumentAnalysisRequestHandler" 
+                  startup="lazy" />
+
+  <!-- ping/healthcheck -->
+  <requestHandler name="/admin/ping" class="solr.PingRequestHandler">
+    <lst name="invariants">
+      <str name="q">solrpingquery</str>
+    </lst>
+    <lst name="defaults">
+      <str name="echoParams">all</str>
+    </lst>
+  </requestHandler>
+
+  <!-- Echo the request contents back to the client -->
+  <requestHandler name="/debug/dump" class="solr.DumpRequestHandler" >
+    <lst name="defaults">
+     <str name="echoParams">explicit</str> 
+     <str name="echoHandler">true</str>
+    </lst>
+  </requestHandler>
+  
+  <!-- Solr Replication -->
+  <requestHandler name="/replication" class="solr.ReplicationHandler" > 
+    <lst name="master">
+      <str name="replicateAfter">commit</str>
+      <str name="replicateAfter">startup</str>
+      <str name="confFiles">schema.xml,stopwords.txt</str>
+    </lst>
+  </requestHandler>
+
+  <!-- Update Processors -->
+  <!-- 
+       Hook in a CloneFieldUpdateProcessor to copy all fields
+       except for binaries to the "text" (default search) field
+  -->
+  <updateRequestProcessorChain name="clone-fields">
+     <processor class="solr.CloneFieldUpdateProcessorFactory">
+       <lst name="source">
+         <str name="fieldRegex">.*</str>
+         <lst name="exclude">
+           <str name="fieldRegex">.*_binary$</str>
+         </lst>
+       </lst>
+       <str name="dest">text</str>
+     </processor>
+     <processor class="solr.LogUpdateProcessorFactory" />
+     <processor class="solr.RunUpdateProcessorFactory" />
+  </updateRequestProcessorChain>    
+  <!-- Response Writers -->
+
+  <queryResponseWriter name="json" class="solr.JSONResponseWriter">
+     <!-- For debugging purposes, JSON responses are written as
+      plain text so that they are easy to read in *any* browser.
+      If you expect a MIME type of "application/json" just remove this override.
+     -->
+    <str name="content-type">text/plain; charset=UTF-8</str>
+  </queryResponseWriter>
+  
+  <!-- Legacy config for the admin interface -->
+  <admin>
+    <defaultQuery>*:*</defaultQuery>
+  </admin>
+
+</config>
diff --git a/conf/solr-home/lui/conf/stopwords.txt b/conf/solr-home/lui/conf/stopwords.txt
new file mode 100644 (file)
index 0000000..b5824da
--- /dev/null
@@ -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/conf/solr-home/lui/conf/synonyms.txt b/conf/solr-home/lui/conf/synonyms.txt
new file mode 100644 (file)
index 0000000..b0e31cb
--- /dev/null
@@ -0,0 +1,31 @@
+# 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.
+
+#-----------------------------------------------------------------------
+#some test synonym mappings unlikely to appear in real input text
+aaa => aaaa
+bbb => bbbb1 bbbb2
+ccc => cccc1,cccc2
+a\=>a => b\=>b
+a\,a => b\,b
+fooaaa,baraaa,bazaaa
+
+# Some synonym groups specific to this example
+GB,gib,gigabyte,gigabytes
+MB,mib,megabyte,megabytes
+Television, Televisions, TV, TVs
+#notice we use "gib" instead of "GiB" so any WordDelimiterFilter coming
+#after us won't split it into two words.
+
+# Synonym mappings can be used for spelling correction too
+pixima => pixma
+
diff --git a/conf/solr-home/lui/core.properties b/conf/solr-home/lui/core.properties
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/conf/solr-home/solr.xml b/conf/solr-home/solr.xml
new file mode 100644 (file)
index 0000000..e247452
--- /dev/null
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 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.
+-->
+
+<!--
+   This is an example of a simple "solr.xml" file for configuring one or 
+   more Solr Cores, as well as allowing Cores to be added, removed, and 
+   reloaded via HTTP requests.
+
+   More information about options available in this configuration file, 
+   and Solr Core administration can be found online:
+   http://wiki.apache.org/solr/CoreAdmin
+-->
+
+<solr>
+
+  <solrcloud>
+
+    <str name="host">${host:}</str>
+    <int name="hostPort">${jetty.port:8983}</int>
+    <str name="hostContext">${hostContext:solr}</str>
+
+    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
+
+    <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
+    <int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:600000}</int>
+    <int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:60000}</int>
+
+  </solrcloud>
+
+  <shardHandlerFactory name="shardHandlerFactory"
+    class="HttpShardHandlerFactory">
+    <int name="socketTimeout">${socketTimeout:600000}</int>
+    <int name="connTimeout">${connTimeout:60000}</int>
+  </shardHandlerFactory>
+
+</solr>
diff --git a/conf/solrconfig.xml b/conf/solrconfig.xml
deleted file mode 100644 (file)
index 40af584..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--  
-     This is the Solr core configuration file for the Index Data Local
-     Unified Index.
-     
-     For more details about configurations options that may appear in
-     this file, see http://wiki.apache.org/solr/SolrConfigXml and the
-     "Configuring solrconfig.xml" section of the Solr Reference
-     Guide.
--->
-<config>
-
-  <luceneMatchVersion>5.5.1</luceneMatchVersion>
-  <dataDir>${solr.data.dir:/var/lib/masterkey/lui/solr5/master}</dataDir>
-  <directoryFactory name="DirectoryFactory" 
-                    class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/> 
-  <codecFactory class="solr.SchemaCodecFactory"/>
-
-  <!-- Use the ClassicIndexSchemaFactory, not Managed -->
-  <schemaFactory class="ClassicIndexSchemaFactory"/>
-
-  <indexConfig>
-    <lockType>${solr.lock.type:native}</lockType>
-    <!-- logging controlled through log4j.properties -->
-     <infoStream>true</infoStream>
-  </indexConfig>
-
-
-  <!--
-       Enable JMX if and only if an existing MBeanServer
-       is found.
-  -->
-  <jmx />
-
-  <!-- The default high-performance update handler -->
-  <updateHandler class="solr.DirectUpdateHandler2">
-
-    <updateLog>
-      <str name="dir">${solr.ulog.dir:}</str>
-    </updateLog>
-
-    <autoCommit> 
-      <maxTime>${solr.autoCommit.maxTime:15000}</maxTime> 
-      <openSearcher>false</openSearcher> 
-    </autoCommit>
-    
-    <autoSoftCommit> 
-      <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime> 
-    </autoSoftCommit>
-
-
-  </updateHandler>
-  
-  <query>
-
-    <maxBooleanClauses>1024</maxBooleanClauses>
-
-    <filterCache class="solr.FastLRUCache"
-                 size="512"
-                 initialSize="512"
-                 autowarmCount="0"/>
-
-    <queryResultCache class="solr.LRUCache"
-                     size="512"
-                     initialSize="512"
-                     autowarmCount="0"/>
-   
-    <documentCache class="solr.LRUCache"
-                   size="512"
-                   initialSize="512"
-                   autowarmCount="0"/>
-    
-    <enableLazyFieldLoading>true</enableLazyFieldLoading>
-    <queryResultWindowSize>20</queryResultWindowSize>
-    <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
-
-   <!-- Query Related Event Listeners: warm up the facet cache -->
-    <listener event="newSearcher" class="solr.QuerySenderListener">
-      <arr name="queries">
-        <lst>
-         <str name="q">database:*</str>
-         <str name="facet">true</str>
-         <str name="facet.mincount">1</str>
-         <str name="facet.field">author_exact</str>
-         <str name="facet.field">subject_exact</str>
-         <str name="facet.field">medium_exact</str>
-         <str name="facet.field">date</str>
-         <str name="facet.field">database</str>
-        </lst>
-      </arr>
-    </listener>
-
-    <listener event="firstSearcher" class="solr.QuerySenderListener">
-      <arr name="queries">
-        <lst>
-         <str name="q">database:*</str>
-         <str name="facet">true</str>
-         <str name="facet.mincount">1</str>
-         <str name="facet.field">author_exact</str>
-         <str name="facet.field">subject_exact</str>
-         <str name="facet.field">medium_exact</str>
-         <str name="facet.field">date</str>
-         <str name="facet.field">database</str>
-        </lst>
-      </arr>
-    </listener>
-
-    <useColdSearcher>false</useColdSearcher>
-    <maxWarmingSearchers>2</maxWarmingSearchers>
-
-  </query>
-
-  <requestDispatcher handleSelect="false" >
-
-    <requestParsers enableRemoteStreaming="true" 
-                    multipartUploadLimitInKB="2048000"
-                    formdataUploadLimitInKB="2048"
-                    addHttpRequestToContext="false"/>
-
-    <httpCaching never304="true" />
-    
-  </requestDispatcher>
-
-  <!-- Request Handlers -->
-
-  <requestHandler name="/select" class="solr.SearchHandler">
-     <lst name="defaults">
-       <str name="echoParams">explicit</str>
-       <int name="rows">10</int>
-       <str name="df">text</str>
-       <str name="fl">*,score</str>
-       <str name="q.op">AND</str>
-     </lst>
-  </requestHandler>
-
-  <requestHandler name="/query" class="solr.SearchHandler">
-     <lst name="defaults">
-       <str name="echoParams">explicit</str>
-       <str name="wt">json</str>
-       <str name="indent">true</str>
-       <str name="df">text</str>
-       <str name="fl">*,score</str>
-       <str name="q.op">AND</str>
-     </lst>
-  </requestHandler>
-
-  <requestHandler name="/get" class="solr.RealTimeGetHandler">
-     <lst name="defaults">
-       <str name="omitHeader">true</str>
-       <str name="wt">json</str>
-       <str name="indent">true</str>
-     </lst>
-  </requestHandler>
-
-  <requestHandler name="/export" class="solr.SearchHandler">
-    <lst name="invariants">
-      <str name="rq">{!xport}</str>
-      <str name="wt">xsort</str>
-      <str name="distrib">false</str>
-    </lst>
-
-    <arr name="components">
-      <str>query</str>
-    </arr>
-  </requestHandler>
-
-  <!-- Update Request Handlers -->
-  
-  <initParams path="/update/**">
-    <lst name="defaults">
-      <str name="update.chain">clone-fields</str>
-    </lst>
-  </initParams>
-
-  <requestHandler name="/update" class="solr.UpdateRequestHandler" />
-
-  <requestHandler name="/update/extract" 
-                  startup="lazy"
-                  class="solr.extraction.ExtractingRequestHandler" >
-    <lst name="defaults">
-      <str name="lowernames">true</str>
-      <str name="uprefix">ignored_</str>
-
-      <!-- capture link hrefs but ignore div attributes -->
-      <str name="captureAttr">true</str>
-      <str name="fmap.a">links</str>
-      <str name="fmap.div">ignored_</str>
-    </lst>
-  </requestHandler>
-
-  <!-- analysis handlers -->
-       
-  <requestHandler name="/analysis/field" 
-                  startup="lazy"
-                  class="solr.FieldAnalysisRequestHandler" />
-
-  <requestHandler name="/analysis/document" 
-                  class="solr.DocumentAnalysisRequestHandler" 
-                  startup="lazy" />
-
-  <!-- ping/healthcheck -->
-  <requestHandler name="/admin/ping" class="solr.PingRequestHandler">
-    <lst name="invariants">
-      <str name="q">solrpingquery</str>
-    </lst>
-    <lst name="defaults">
-      <str name="echoParams">all</str>
-    </lst>
-  </requestHandler>
-
-  <!-- Echo the request contents back to the client -->
-  <requestHandler name="/debug/dump" class="solr.DumpRequestHandler" >
-    <lst name="defaults">
-     <str name="echoParams">explicit</str> 
-     <str name="echoHandler">true</str>
-    </lst>
-  </requestHandler>
-  
-  <!-- Solr Replication -->
-  <requestHandler name="/replication" class="solr.ReplicationHandler" > 
-    <lst name="master">
-      <str name="replicateAfter">commit</str>
-      <str name="replicateAfter">startup</str>
-      <str name="confFiles">schema.xml,stopwords.txt</str>
-    </lst>
-  </requestHandler>
-
-  <!-- Update Processors -->
-  <!-- 
-       Hook in a CloneFieldUpdateProcessor to copy all fields
-       except for binaries to the "text" (default search) field
-  -->
-  <updateRequestProcessorChain name="clone-fields">
-     <processor class="solr.CloneFieldUpdateProcessorFactory">
-       <lst name="source">
-         <str name="fieldRegex">.*</str>
-         <lst name="exclude">
-           <str name="fieldRegex">.*_binary$</str>
-         </lst>
-       </lst>
-       <str name="dest">text</str>
-     </processor>
-     <processor class="solr.LogUpdateProcessorFactory" />
-     <processor class="solr.RunUpdateProcessorFactory" />
-  </updateRequestProcessorChain>    
-  <!-- Response Writers -->
-
-  <queryResponseWriter name="json" class="solr.JSONResponseWriter">
-     <!-- For debugging purposes, JSON responses are written as
-      plain text so that they are easy to read in *any* browser.
-      If you expect a MIME type of "application/json" just remove this override.
-     -->
-    <str name="content-type">text/plain; charset=UTF-8</str>
-  </queryResponseWriter>
-  
-  <!-- Legacy config for the admin interface -->
-  <admin>
-    <defaultQuery>*:*</defaultQuery>
-  </admin>
-
-</config>
diff --git a/conf/stopwords.txt b/conf/stopwords.txt
deleted file mode 100644 (file)
index b5824da..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-# 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/conf/synonyms.txt b/conf/synonyms.txt
deleted file mode 100644 (file)
index b0e31cb..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# 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.
-
-#-----------------------------------------------------------------------
-#some test synonym mappings unlikely to appear in real input text
-aaa => aaaa
-bbb => bbbb1 bbbb2
-ccc => cccc1,cccc2
-a\=>a => b\=>b
-a\,a => b\,b
-fooaaa,baraaa,bazaaa
-
-# Some synonym groups specific to this example
-GB,gib,gigabyte,gigabytes
-MB,mib,megabyte,megabytes
-Television, Televisions, TV, TVs
-#notice we use "gib" instead of "GiB" so any WordDelimiterFilter coming
-#after us won't split it into two words.
-
-# Synonym mappings can be used for spelling correction too
-pixima => pixma
-
index 7f8f011..ec63514 100644 (file)
@@ -1 +1 @@
-7
+9
index 1aa1fe7..c3e2c51 100644 (file)
@@ -2,66 +2,16 @@ Source: masterkey-lui-solr
 Section: misc
 Priority: extra
 Maintainer: Index Data ApS <info@indexdata.com>
 Section: misc
 Priority: extra
 Maintainer: Index Data ApS <info@indexdata.com>
-Build-Depends: debhelper (>= 5), openjdk-7-jdk, maven, unzip
-Standards-Version: 3.8.0
-Homepage: http://www.indexdata.dk/masterkey/harvester
+Build-Depends: debhelper (>= 9)
+Standards-Version: 3.9.8
+Homepage: http://www.indexdata.com/masterkey
 
 
-Package: masterkey-lui-solr4-common
+Package: masterkey-lui-solr5
 Architecture: all
 Architecture: all
-Depends:
-Description: The Solr Web Application in war format.
- The Solr 4 Web Application is a Web service for indexing.
-
-Package: masterkey-lui-solr4-master
-Architecture: all
-Depends: masterkey-lui-solr4-common(= ${binary:Version})
-Description: Local Unified Index (Solr)
- The Local Unified Index is a index that contains multiple logical indexes (subdatabases). The underlying index is a Solr/lucene index configured to use a specific LUI schema.
-
-Package: masterkey-lui-solr4-slave
-Architecture: all
-Depends: masterkey-lui-solr4-common(= ${binary:Version})
-Description: Local Unified Index (Solr)
- The Local Unified Index is a index that contains multiple logical indexes (subdatabases). The underlying index is a Solr/lucene index configured to use a specific LUI schema. This has configuration for being a slave replicated for a master
-
-Package: masterkey-lui-solr4-common-tomcat6
-Architecture: all
-Depends:tomcat6,masterkey-lui-solr4-common(= ${binary:Version})
-Description: The Solr Web Application in war format.
- The common logging library installed under tomcat6
-
-Package: masterkey-lui-solr4-master-tomcat6
-Architecture: all
-Depends: tomcat6, masterkey-lui-solr4-master(= ${binary:Version}),masterkey-lui-solr4-common-tomcat6(= ${binary:Version})
-Description: Local Unified Index Solr Tomcat 6 integration for a LUI master
- The LUI is part of the MasterKey suite. This package provides Tomcat 6 integration.
-
-Package: masterkey-lui-solr4-slave-tomcat6
-Architecture: all
-Depends: tomcat6,masterkey-lui-solr4-slave(= ${binary:Version}),masterkey-lui-solr4-common-tomcat6(= ${binary:Version})
-Description: Local Unified Index Solr Tomcat 6 integration for a LUI slave
- The LUI is part of the MasterKey suite. This package provides Tomcat 6 integration.
-
-Package: masterkey-lui-solr4-common-tomcat8
-Architecture: all
-Depends:tomcat8, masterkey-lui-solr4-common(= ${binary:Version})
-Description: The Solr Web Application in war format.
- The common logging library installed under tomcat8
-
-Package: masterkey-lui-solr4-master-tomcat8
-Architecture: all
-Depends: tomcat8, masterkey-lui-solr4-master(= ${binary:Version}),masterkey-lui-solr4-common-tomcat8(= ${binary:Version})
-Description: Local Unified Index Solr Tomcat 8 integration for a LUI master
- The LUI is part of the MasterKey suite. This package provides Tomcat 8 integration.
-
-Package: masterkey-lui-solr4-slave-tomcat8
-Architecture: all
-Depends: tomcat8, masterkey-lui-solr4-slave(= ${binary:Version}), masterkey-lui-solr4-common-tomcat8(= ${binary:Version})
-Description: Local Unified Index Solr Tomcat 8 integration for a LUI slave
- The LUI is part of the MasterKey suite. This package provides Tomcat 8 integration.
-
-Package: masterkey-lui-solr4-zookeeper
-Architecture: all
-Depends: masterkey-lui-solr4-common(= ${binary:Version})
+Depends: openjdk-7-jdk, ${misc:Depends}
+Conflicts: masterkey-lui-solr4-common, masterkey-lui-solr4-master, masterkey-lui-solr4-slave, masterkey-lui-solr4-zookeeper, masterkey-lui-solr4-common-tomcat6, masterkey-lui-solr4-master-tomcat6, masterkey-lui-solr4-slave-tomcat6, masterkey-lui-solr4-common-tomcat8, masterkey-lui-solr4-master-tomcat8, masterkey-lui-solr4-slave-tomcat8
+Replaces: masterkey-lui-solr4-common, masterkey-lui-solr4-master, masterkey-lui-solr4-slave, masterkey-lui-solr4-zookeeper, masterkey-lui-solr4-common-tomcat6, masterkey-lui-solr4-master-tomcat6, masterkey-lui-solr4-slave-tomcat6, masterkey-lui-solr4-common-tomcat8, masterkey-lui-solr4-master-tomcat8, masterkey-lui-solr4-slave-tomcat8
 Description: Local Unified Index (Solr)
 Description: Local Unified Index (Solr)
- A stand-alone (jetty) ZooKeeper enabled Solr 4. Require 2 or more configurations running on multiple machines
+ The Local Unified Index is a index that contains multiple logical indexes 
+ (subdatabases). The underlying index is a Solr/Lucene 5 index configured 
+ to use a specific LUI schema.
index b5fb090..5e294ef 100644 (file)
@@ -1,26 +1,33 @@
-This package was debianized by the alien program by converting
-a binary .rpm package on Tue, 29 Jan 2013 15:03:38 +0100
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0
+Upstream-Name: masterkey-lui-solr
+Source: This is a repackaging of Solr <http://lucene.apache.org/solr/> for the Index Data Local Unified Index (LUI)
 
 
-Copyright: IndexData
+Files: *
+Copyright: 2011-2016 Index Data ApS <info@indexdata.com>
+License:
+ All rights reserved.
 
 
-Information from the binary package:
-Name        : masterkey-lui-solr
-Version     : 0.2.2
-Release     : 1.indexdata
-Architecture: noarch
-Install Date: (not installed)
-Group       : Applications/Internet
-Size        : 7603954
-License     : IndexData
-Signature   : DSA/SHA1, Wed 02 Nov 2011 03:39:39 PM CET, Key ID 38e53a727f1d2347
-Source RPM  : masterkey-lui-solr-0.2.2-1.indexdata.src.rpm
-Build Date  : Wed 02 Nov 2011 03:35:41 PM CET
-Build Host  : centos5.index
-Relocations : (not relocatable)
-Packager    : Dennis Schafroth <dennis@indexdata.com>
-Vendor      : Index Data ApS <info@indexdata.dk>
-URL         : http://www.indexdata.dk/masterkey
-Summary     : Local Unified Index (Solr)
-Description :
-The Local Unified Index is a index that contains multiple logical indexes. The underlying index is a Solr/lucene index configured to use a specific LUI schema.
+Files: dist/*
+Copyright: 2006-2016 The Apache Software Foundation
+License: Apache-2.0
 
 
+Files: debian/*
+Copyright: 2011-2016 Index Data ApS <info@indexdata.com>
+License:
+ All rights reserved.
+
+License: Apache-2.0
+ Licensed 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.
+ .
+ On Debian systems, the complete text of the Apache version 2.0 license
+ can be found in "/usr/share/common-licenses/Apache-2.0".
diff --git a/debian/dirs b/debian/dirs
new file mode 100644 (file)
index 0000000..a585803
--- /dev/null
@@ -0,0 +1,6 @@
+etc/default
+usr/share/masterkey/lui
+usr/share/doc/masterkey-lui-solr5
+etc/masterkey/lui
+var/log/masterkey/lui
+var/lib/masterkey/lui/data/lui
diff --git a/debian/install b/debian/install
new file mode 100644 (file)
index 0000000..578ecf9
--- /dev/null
@@ -0,0 +1,2 @@
+dist usr/share/masterkey/lui
+conf/* etc/masterkey/lui
diff --git a/debian/links b/debian/links
new file mode 100644 (file)
index 0000000..5315de1
--- /dev/null
@@ -0,0 +1 @@
+etc/masterkey/lui/lui-solr.in.sh etc/default/lui-solr.in.sh
\ No newline at end of file
diff --git a/debian/masterkey-lui-solr4-master-tomcat6.postinst b/debian/masterkey-lui-solr4-master-tomcat6.postinst
deleted file mode 100644 (file)
index c8c84fb..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-ln -sf /etc/masterkey/lui/lui-solr4-master.xml /etc/tomcat6/Catalina/localhost/solr4.xml
-chown -R tomcat6:tomcat6 /var/lib/masterkey/lui/solr4/master
diff --git a/debian/masterkey-lui-solr4-master-tomcat6.postrm b/debian/masterkey-lui-solr4-master-tomcat6.postrm
deleted file mode 100644 (file)
index d9015e2..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh -e
-
-case "$1" in
-    purge|remove)
-       rm -f /etc/tomcat6/Catalina/localhost/solr4.xml
-#      rm -f /etc/tomcat6/policy.d/05harvester.policy
-        ;;
-    upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
-        ;;
-
-    *)
-        echo "postrm called with unknown argument \`$1'" >&2
-        exit 1
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/masterkey-lui-solr4-master-tomcat8.postinst b/debian/masterkey-lui-solr4-master-tomcat8.postinst
deleted file mode 100644 (file)
index aa0d98a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-ln -sf /etc/masterkey/lui/lui-solr4-master.xml /etc/tomcat8/Catalina/localhost/solr4.xml
-chown -R tomcat8:tomcat8 /var/lib/masterkey/lui/solr4/master
diff --git a/debian/masterkey-lui-solr4-master-tomcat8.postrm b/debian/masterkey-lui-solr4-master-tomcat8.postrm
deleted file mode 100644 (file)
index c18f355..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh -e
-
-case "$1" in
-    purge|remove)
-       rm -f /etc/tomcat8/Catalina/localhost/solr4.xml
-#      rm -f /etc/tomcat8/policy.d/05harvester.policy
-        ;;
-    upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
-        ;;
-
-    *)
-        echo "postrm called with unknown argument \`$1'" >&2
-        exit 1
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/masterkey-lui-solr4-slave-tomcat6.postinst b/debian/masterkey-lui-solr4-slave-tomcat6.postinst
deleted file mode 100644 (file)
index ea92d0e..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-ln -sf /etc/masterkey/lui/lui-solr4-slave.xml /etc/tomcat6/Catalina/localhost/solr4-slave.xml
-chown -R tomcat6:tomcat6 /var/lib/masterkey/lui/solr4/slave
diff --git a/debian/masterkey-lui-solr4-slave-tomcat6.postrm b/debian/masterkey-lui-solr4-slave-tomcat6.postrm
deleted file mode 100644 (file)
index 086454d..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh -e
-
-case "$1" in
-    purge|remove)
-       rm -f /etc/tomcat6/Catalina/localhost/solr4-slave.xml
-#      rm -f /etc/tomcat6/policy.d/05harvester.policy
-        ;;
-    upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
-        ;;
-
-    *)
-        echo "postrm called with unknown argument \`$1'" >&2
-        exit 1
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/masterkey-lui-solr4-slave-tomcat8.postinst b/debian/masterkey-lui-solr4-slave-tomcat8.postinst
deleted file mode 100644 (file)
index 673dd8e..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-ln -sf /etc/masterkey/lui/lui-solr4-slave.xml /etc/tomcat8/Catalina/localhost/solr4-slave.xml
-chown -R tomcat8:tomcat8 /var/lib/masterkey/lui/solr4/slave
diff --git a/debian/masterkey-lui-solr4-slave-tomcat8.postrm b/debian/masterkey-lui-solr4-slave-tomcat8.postrm
deleted file mode 100644 (file)
index 392370a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh -e
-
-case "$1" in
-    purge|remove)
-       rm -f /etc/tomcat8/Catalina/localhost/solr4-slave.xml
-#      rm -f /etc/tomcat8/policy.d/05harvester.policy
-        ;;
-    upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
-        ;;
-
-    *)
-        echo "postrm called with unknown argument \`$1'" >&2
-        exit 1
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/postinst b/debian/postinst
new file mode 100755 (executable)
index 0000000..2f5f856
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/sh -e
+
+case "$1" in
+    configure|upgrade)
+       # Create the solr user
+       adduser --system --shell /bin/bash --group --disabled-password --home /var/lib/masterkey/lui lui-solr
+       # Set directory permissions
+       chown -R lui-solr /var/lib/masterkey/lui
+       chown -R lui-solr /var/log/masterkey/lui
+       chown -R lui-solr /etc/masterkey/lui/solr-home
+       # Run Solr installation script
+       /usr/share/masterkey/lui/dist/install_solr_service.sh /usr/share/masterkey/lui/dist/solr-5.5.1.tgz -d /var/lib/masterkey/lui -i /usr/share/masterkey/lui -s lui-solr -u lui-solr -f
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument '$1'" >&2
+        exit 1
+    ;;
+esac
+
+exit 0
diff --git a/debian/postrm b/debian/postrm
new file mode 100755 (executable)
index 0000000..b11b87e
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh -e
+
+case "$1" in
+    purge|remove)
+       # Remove Solr installation
+       rm -f /usr/share/masterkey/lui/lui-solr
+       rm -rf /usr/share/masterkey/lui/solr-*
+       ;;
+    upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+       ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+esac
+
+exit 0
index c389f54..fddb478 100755 (executable)
@@ -1,159 +1,5 @@
 #!/usr/bin/make -f
 #!/usr/bin/make -f
-# debian/rules for alien
+#DH_VERBOSE = 1
 
 
-BASE=masterkey-lui-solr4
-DOC = /usr/share/doc/masterkey
-LOG = /var/log/masterkey
-SHARE = /usr/share/masterkey/lui/solr4
-
-CONF_MASTER = $(SHARE)/master/collection1/
-CONF_SLAVE  = $(SHARE)/slave/collection1/
-CONF_ZK = $(SHARE)/zookeeper/
-
-DATA = /var/lib/masterkey/lui/solr4
-DATA_MASTER = $(DATA)/master
-DATA_SLAVE  = $(DATA)/slave
-DATA_ZK = $(DATA)/zk-first
-
-LUI_SOLR_COMMON = $(BASE)-common
-LUI_SOLR_COMMON_ROOT = $(CURDIR)/debian/$(LUI_SOLR_COMMON)
-LUI_SOLR_COMMON_DIR = $(LUI_SOLR_COMMON_ROOT)$(SHARE)
-
-LUI_SOLR_MASTER = $(BASE)-master
-LUI_SOLR_MASTER_ROOT = $(CURDIR)/debian/$(LUI_SOLR_MASTER)
-LUI_SOLR_MASTER_SHARE_DIR = $(LUI_SOLR_MASTER_ROOT)$(CONF_MASTER)
-LUI_SOLR_MASTER_LIB_DIR = $(LUI_SOLR_MASTER_ROOT)$(DATA_MASTER)
-
-LUI_SOLR_COMMON_TOMCAT6 = $(LUI_SOLR_COMMON)-tomcat6
-LUI_SOLR_COMMON_TOMCAT6_ROOT = $(CURDIR)/debian/$(LUI_SOLR_COMMON_TOMCAT6)
-
-LUI_SOLR_MASTER_TOMCAT6 = $(LUI_SOLR_MASTER)-tomcat6
-LUI_SOLR_MASTER_TOMCAT6_ROOT = $(CURDIR)/debian/$(LUI_SOLR_MASTER_TOMCAT6)
-
-LUI_SOLR_SLAVE = $(BASE)-slave
-LUI_SOLR_SLAVE_ROOT = $(CURDIR)/debian/$(LUI_SOLR_SLAVE)
-LUI_SOLR_SLAVE_SHARE_DIR = $(LUI_SOLR_SLAVE_ROOT)$(CONF_SLAVE)
-LUI_SOLR_SLAVE_LIB_DIR = $(LUI_SOLR_SLAVE_ROOT)$(DATA_SLAVE)
-
-LUI_SOLR_SLAVE_TOMCAT6 = $(LUI_SOLR_SLAVE)-tomcat6
-LUI_SOLR_SLAVE_TOMCAT6_ROOT = $(CURDIR)/debian/$(LUI_SLAVE_TOMCAT6)
-CATALINA6_HOME=/usr/share/tomcat6
-
-LUI_SOLR_COMMON_TOMCAT8 = $(LUI_SOLR_COMMON)-tomcat8
-LUI_SOLR_COMMON_TOMCAT8_ROOT = $(CURDIR)/debian/$(LUI_SOLR_COMMON_TOMCAT8)
-
-LUI_SOLR_MASTER_TOMCAT8 = $(LUI_SOLR_MASTER)-tomcat8
-LUI_SOLR_MASTER_TOMCAT8_ROOT = $(CURDIR)/debian/$(LUI_SOLR_MASTER_TOMCAT8)
-
-LUI_SOLR_SLAVE = $(BASE)-slave
-LUI_SOLR_SLAVE_ROOT = $(CURDIR)/debian/$(LUI_SOLR_SLAVE)
-LUI_SOLR_SLAVE_SHARE_DIR = $(LUI_SOLR_SLAVE_ROOT)$(CONF_SLAVE)
-LUI_SOLR_SLAVE_LIB_DIR = $(LUI_SOLR_SLAVE_ROOT)$(DATA_SLAVE)
-
-LUI_SOLR_SLAVE_TOMCAT8 = $(LUI_SOLR_SLAVE)-tomcat8
-LUI_SOLR_SLAVE_TOMCAT8_ROOT = $(CURDIR)/debian/$(LUI_SLAVE_TOMCAT8)
-CATALINA8_HOME=/usr/share/tomcat8
-
-
-SOLR_VERSION=4.9.1
-
-LUI_SOLR_ZK = $(BASE)-zookeeper
-LUI_SOLR_ZK_ROOT = $(CURDIR)/debian/$(LUI_SOLR_ZK)
-LUI_SOLR_ZK_SHARE_DIR = $(LUI_SOLR_ZK_ROOT)$(CONF_ZK)
-LUI_SOLR_ZK_LIB_DIR = $(LUI_SOLR_ZK_ROOT)$(DATA_ZK)
-
-
-PACKAGE=$(shell dh_listpackages)
-
-build:
-       dh_testdir
-
-clean:
-       dh_testdir
-       dh_testroot
-       dh_clean -d
-
-
-install: install-stamp
-install-stamp: build
-       dh_testdir
-       dh_testroot
-       dh_prep
-
-       # lui-solr-common. Install a Solr WAR.
-       mkdir -p $(LUI_SOLR_COMMON_DIR)
-       mkdir -p $(LUI_SOLR_COMMON_DIR)/war
-       cp dist/solr-$(SOLR_VERSION).war $(LUI_SOLR_COMMON_DIR)/war/solr.war
-       cp -rp scripts $(LUI_SOLR_COMMON_DIR)
-
-       # lui-solr-master
-       mkdir -p    $(LUI_SOLR_MASTER_SHARE_DIR)
-       cp -rp conf $(LUI_SOLR_MASTER_SHARE_DIR)
-       ln -sf solrconfig-master.xml $(LUI_SOLR_MASTER_SHARE_DIR)/conf/solrconfig.xml
-       mkdir -p $(LUI_SOLR_MASTER_LIB_DIR)
-
-       # lui-solr-slave Slave configuration
-       mkdir -p    $(LUI_SOLR_SLAVE_SHARE_DIR)
-       cp -rp conf $(LUI_SOLR_SLAVE_SHARE_DIR)
-       ln -sf solrconfig-slave.xml $(LUI_SOLR_SLAVE_SHARE_DIR)/conf/solrconfig.xml
-       mkdir -p $(LUI_SOLR_SLAVE_LIB_DIR)
-
-       # Common lui-solr4-tomcat: Logging Libraries installed under tomcat6. 
-       # Harvester Utilities. Stylesheet used in includes needs to be in CATALINA6_HOME
-       mkdir -p $(LUI_SOLR_COMMON_TOMCAT6_ROOT)$(CATALINA6_HOME)/lib
-       cp -rp lib/ $(LUI_SOLR_COMMON_TOMCAT6_ROOT)$(CATALINA6_HOME)
-       ls -la $(LUI_SOLR_COMMON_TOMCAT6_ROOT)$(CATALINA6_HOME)/lib/
-
-       # lui-solr-master plumbing for Tomcat 6. 
-       mkdir -p $(LUI_SOLR_MASTER_ROOT)/etc/masterkey/lui
-       cp etc/solr4-tomcat-context-master.xml $(LUI_SOLR_MASTER_ROOT)/etc/masterkey/lui/lui-solr4-master.xml
-
-       # lui-solr-slave plumbing for Tomcat 6
-       mkdir -p $(LUI_SOLR_SLAVE_ROOT)/etc/masterkey/lui
-       cp etc/solr4-tomcat-context-slave.xml $(LUI_SOLR_SLAVE_ROOT)/etc/masterkey/lui/lui-solr4-slave.xml
-
-       # Common lui-solr4-tomcat: Logging Libraries installed under tomcat8. 
-       # Harvester Utilities. Stylesheet used in includes needs to be in CATALINA8_HOME
-       mkdir -p $(LUI_SOLR_COMMON_TOMCAT8_ROOT)$(CATALINA8_HOME)/lib
-       cp -rp lib/ $(LUI_SOLR_COMMON_TOMCAT8_ROOT)$(CATALINA8_HOME)
-       ls -la $(LUI_SOLR_COMMON_TOMCAT8_ROOT)$(CATALINA8_HOME)/lib/
-
-       # lui-solr-master plumbing for Tomcat 6. 
-       mkdir -p $(LUI_SOLR_MASTER_ROOT)/etc/masterkey/lui
-       cp etc/solr4-tomcat-context-master.xml $(LUI_SOLR_MASTER_ROOT)/etc/masterkey/lui/lui-solr4-master.xml
-
-       # lui-solr-slave plumbing for Tomcat 6
-       mkdir -p $(LUI_SOLR_SLAVE_ROOT)/etc/masterkey/lui
-       cp etc/solr4-tomcat-context-slave.xml $(LUI_SOLR_SLAVE_ROOT)/etc/masterkey/lui/lui-solr4-slave.xml
-
-       # lui-solr-zookeeper
-       mkdir -p    $(LUI_SOLR_ZK_SHARE_DIR)
-       cp -rp zookeeper/. $(LUI_SOLR_ZK_SHARE_DIR)
-       mkdir -p $(LUI_SOLR_ZK_LIB_DIR)
-       mkdir -p $(LUI_SOLR_ZK_ROOT)/etc/init.d/
-       cp -p etc/init.d/indexdata-solr-zookeeper $(LUI_SOLR_ZK_ROOT)/etc/init.d/
-
-       touch $@
-
-binary: build install
-       dh_testdir
-       dh_testroot
-       dh_installdocs
-       dh_installchangelogs
-       dh_compress
-       dh_fixperms
-       dh_installdeb
-       dh_gencontrol
-       dh_md5sums
-       dh_builddeb
-
-# Copy the packages's files.
-#      find . -maxdepth 1 -mindepth 1 -not -name debian -print0 | \
-#              xargs -0 -r -i cp -a {} debian/$(PACKAGE)
-#
-#
-# If you need to move files around in debian/$(PACKAGE) or do some
-# binary patching, do it here
-#
-
-.PHONY: build clean binary-indep binary-arch binary
+%:
+       dh $@