+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
+++ /dev/null
-# 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
+++ /dev/null
-# 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=
-
+++ /dev/null
-<!--
- 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
--->
+++ /dev/null
-<!--
- 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>
--->
+++ /dev/null
-<!--
- 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>
--->
+++ /dev/null
-# 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
-
+++ /dev/null
-<?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>
+++ /dev/null
-# 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=
+++ /dev/null
-<?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>
+++ /dev/null
-# 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
-
+++ /dev/null
-# 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
-
+++ /dev/null
-<?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>
--- /dev/null
+# 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
--- /dev/null
+# 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=
+
--- /dev/null
+<!--
+ 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
+-->
--- /dev/null
+<!--
+ 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>
+-->
--- /dev/null
+<!--
+ 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>
+-->
--- /dev/null
+# 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
+
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+# 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
+
--- /dev/null
+# 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
+
--- /dev/null
+<?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>
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
dist usr/share/masterkey/lui
-conf/* etc/masterkey/lui
+conf/solr/* etc/masterkey/lui/solr
doc/* usr/share/doc/masterkey-lui-solr5
-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
# 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)
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
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
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\""