Reorganize configuration directory.
authorWayne Schneider <wayne@indexdata.com>
Fri, 29 Jul 2016 16:47:57 +0000 (11:47 -0500)
committerWayne Schneider <wayne@indexdata.com>
Fri, 29 Jul 2016 16:47:57 +0000 (11:47 -0500)
32 files changed:
Changes
conf/log4j.properties [deleted file]
conf/lui-solr.in.sh [deleted file]
conf/solr-home/lui/conf/admin-extra.html [deleted file]
conf/solr-home/lui/conf/admin-extra.menu-bottom.html [deleted file]
conf/solr-home/lui/conf/admin-extra.menu-top.html [deleted file]
conf/solr-home/lui/conf/protwords.txt [deleted file]
conf/solr-home/lui/conf/schema.xml [deleted file]
conf/solr-home/lui/conf/scripts.conf [deleted file]
conf/solr-home/lui/conf/solrconfig.xml [deleted file]
conf/solr-home/lui/conf/stopwords.txt [deleted file]
conf/solr-home/lui/conf/synonyms.txt [deleted file]
conf/solr-home/lui/core.properties [deleted file]
conf/solr-home/solr.xml [deleted file]
conf/solr/log4j.properties [new file with mode: 0644]
conf/solr/lui-solr.in.sh [new file with mode: 0644]
conf/solr/solr-home/lui/conf/admin-extra.html [new file with mode: 0644]
conf/solr/solr-home/lui/conf/admin-extra.menu-bottom.html [new file with mode: 0644]
conf/solr/solr-home/lui/conf/admin-extra.menu-top.html [new file with mode: 0644]
conf/solr/solr-home/lui/conf/protwords.txt [new file with mode: 0644]
conf/solr/solr-home/lui/conf/schema.xml [new file with mode: 0644]
conf/solr/solr-home/lui/conf/solrconfig.xml [new file with mode: 0644]
conf/solr/solr-home/lui/conf/stopwords.txt [new file with mode: 0644]
conf/solr/solr-home/lui/conf/synonyms.txt [new file with mode: 0644]
conf/solr/solr-home/lui/core.properties [new file with mode: 0644]
conf/solr/solr-home/solr.xml [new file with mode: 0644]
debian/dirs
debian/install
debian/links
debian/postinst
dev-deploy.yml
dev-install.sh

diff --git a/Changes b/Changes
index 3564d0d..a1986e7 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,3 +1,8 @@
+0.11  [In Progess]
+        - Remove legacy scripts.conf file from configuration
+        - Reorganize configuration file layout to accomodate future HA configuration files
+
+      
 0.10  Tue Jul 26 16:25:09 UTC 2016
         - Documentation updates
         - Clean up unused files
diff --git a/conf/log4j.properties b/conf/log4j.properties
deleted file mode 100644 (file)
index 17b5462..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#  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
deleted file mode 100755 (executable)
index f2fdf75..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-# 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/solr-home/lui/conf/admin-extra.html b/conf/solr-home/lui/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/solr-home/lui/conf/admin-extra.menu-bottom.html b/conf/solr-home/lui/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/solr-home/lui/conf/admin-extra.menu-top.html b/conf/solr-home/lui/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/solr-home/lui/conf/protwords.txt b/conf/solr-home/lui/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/solr-home/lui/conf/schema.xml b/conf/solr-home/lui/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/solr-home/lui/conf/scripts.conf b/conf/solr-home/lui/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/solrconfig.xml b/conf/solr-home/lui/conf/solrconfig.xml
deleted file mode 100644 (file)
index b2cd893..0000000
+++ /dev/null
@@ -1,268 +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/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>
-    <!--
-       <lst name="slave">
-         <str name="masterUrl">http://your-master-hostname:8983/solr</str>
-         <str name="pollInterval">00:00:60</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
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/solr-home/lui/conf/synonyms.txt b/conf/solr-home/lui/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
-
diff --git a/conf/solr-home/lui/core.properties b/conf/solr-home/lui/core.properties
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/conf/solr-home/solr.xml b/conf/solr-home/solr.xml
deleted file mode 100644 (file)
index e247452..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?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/solr/log4j.properties b/conf/solr/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/solr/lui-solr.in.sh b/conf/solr/lui-solr.in.sh
new file mode 100644 (file)
index 0000000..d2f5ae0
--- /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/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/solr/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/solr/solr-home/lui/conf/admin-extra.html b/conf/solr/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/solr-home/lui/conf/admin-extra.menu-bottom.html b/conf/solr/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/solr-home/lui/conf/admin-extra.menu-top.html b/conf/solr/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/solr-home/lui/conf/protwords.txt b/conf/solr/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/solr-home/lui/conf/schema.xml b/conf/solr/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/solr-home/lui/conf/solrconfig.xml b/conf/solr/solr-home/lui/conf/solrconfig.xml
new file mode 100644 (file)
index 0000000..98aa267
--- /dev/null
@@ -0,0 +1,268 @@
+<?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/solr/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>
+    <!--
+       <lst name="slave">
+         <str name="masterUrl">http://your-master-hostname:8983/solr</str>
+         <str name="pollInterval">00:00:60</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/solr-home/lui/conf/stopwords.txt b/conf/solr/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/solr-home/lui/conf/synonyms.txt b/conf/solr/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/solr-home/lui/core.properties b/conf/solr/solr-home/lui/core.properties
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/conf/solr/solr-home/solr.xml b/conf/solr/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>
index a585803..fae317f 100644 (file)
@@ -1,6 +1,6 @@
 etc/default
 usr/share/masterkey/lui
 usr/share/doc/masterkey-lui-solr5
-etc/masterkey/lui
+etc/masterkey/lui/solr
 var/log/masterkey/lui
-var/lib/masterkey/lui/data/lui
+var/lib/masterkey/lui/solr/lui
index 2723a16..21ad2d9 100644 (file)
@@ -1,3 +1,3 @@
 dist usr/share/masterkey/lui
-conf/* etc/masterkey/lui
+conf/solr/* etc/masterkey/lui/solr
 doc/* usr/share/doc/masterkey-lui-solr5
index 5315de1..1d33fc4 100644 (file)
@@ -1 +1 @@
-etc/masterkey/lui/lui-solr.in.sh etc/default/lui-solr.in.sh
\ No newline at end of file
+etc/masterkey/lui/solr/lui-solr.in.sh etc/default/lui-solr.in.sh
\ No newline at end of file
index c16cda6..ee4dd44 100755 (executable)
@@ -7,13 +7,13 @@ case "$1" in
        # 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
+       chown -R lui-solr /etc/masterkey/lui/solr/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
         # Remove extra files created by Solr installation
         rm -f /usr/lib/masterkey/lui/log4j.properties
         rm -rf /usr/lib/masterkey/lui/logs
-        rm -f /usr/lib/masterkey/lui/data/solr.xml
+        rm -f /usr/lib/masterkey/lui/data
     ;;
 
     abort-upgrade|abort-remove|abort-deconfigure)
index 7c07ddd..a3908e3 100644 (file)
@@ -19,9 +19,9 @@
       file: path={{ item }} state=directory
       with_items:
         - /usr/share/masterkey/lui
-        - /var/lib/masterkey/lui/data/lui
+        - /var/lib/masterkey/lui/solr/lui
         - /var/log/masterkey/lui
-        - /etc/masterkey
+        - /etc/masterkey/lui
 
     - name: Create lui-solr account
       become: yes
 
     - name: Link Solr configuration
       become: yes
-      file: src=/vagrant/conf path=/etc/masterkey/lui state=link
+      file: src=/vagrant/conf/solr path=/etc/masterkey/lui/solr state=link
 
     - name: Link Solr defaults
       become: yes
-      file: src=/etc/masterkey/lui/lui-solr.in.sh path=/etc/default/lui-solr.in.sh state=link
+      file: src=/etc/masterkey/lui/solr/lui-solr.in.sh path=/etc/default/lui-solr.in.sh state=link
 
     - name: Install Solr binary
       become: yes
@@ -52,4 +52,4 @@
       with_items:
         - /var/lib/masterkey/lui/log4j.properties
         - /var/lib/masterkey/lui/logs
-        - /var/lib/masterkey/lui/data/solr.xml
+        - /var/lib/masterkey/lui/data
index fa92c62..f546a0d 100755 (executable)
@@ -38,8 +38,8 @@ EOF
 echo "Linking in lui-solr configuration..."
 mkdir $SOLR_DIR/server/solr/lui
 cd $SOLR_DIR/server/solr/lui
-ln -s ../../../../conf/solr-home/lui/conf conf
-ln -s ../../../../conf/solr-home/lui/core.properties core.properties
+ln -s ../../../../conf/solr/solr-home/lui/conf conf
+ln -s ../../../../conf/solr/solr-home/lui/core.properties core.properties
 
 echo "You can launch solr with the command \"$SOLR_DIR/bin/solr start\""