<?xml version="1.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.
-->

<config>
  <luceneMatchVersion>${tests.luceneMatchVersion:LATEST}</luceneMatchVersion>
  <indexConfig>
    <mergePolicyFactory class="${solr.tests.mergePolicyFactory:org.apache.solr.util.RandomMergePolicyFactory}" />
    <useCompoundFile>${useCompoundFile:false}</useCompoundFile>
    <maxBufferedDocs>${solr.tests.maxBufferedDocs}</maxBufferedDocs>
    <ramBufferSizeMB>${solr.tests.ramBufferSizeMB}</ramBufferSizeMB>
    <mergeScheduler class="${solr.tests.mergeScheduler}" />
    <writeLockTimeout>1000</writeLockTimeout>
    <commitLockTimeout>10000</commitLockTimeout>
    <lockType>${solr.tests.lockType:single}</lockType>
    <query>
      <useColdSearcher>false</useColdSearcher>
      <maxWarmingSearchers>1</maxWarmingSearchers>
    </query>
  </indexConfig>
  <requestHandler name="/select"
     class="solr.SearchHandler"></requestHandler>

  <!-- Used to specify an alternate directory to hold all index data.
       It defaults to "index" if not present, and should probably
       not be changed if replication is in use. -->
  <dataDir>${solr.data.dir:}</dataDir>

  <!--  The DirectoryFactory to use for indexes.
        solr.StandardDirectoryFactory, the default, is filesystem based.
        solr.RAMDirectoryFactory is memory based and not persistent. -->
  <directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.RAMDirectoryFactory}"/>
  <schemaFactory class="ClassicIndexSchemaFactory"/>

  <searchComponent name="spellcheck" class="org.apache.solr.handler.component.SpellCheckComponent">
    <!-- This is slightly different from the field value so we can test dealing with token offset changes -->
    <str name="queryAnalyzerFieldType">lowerpunctfilt</str>

    <lst name="spellchecker">
      <str name="name">default</str>
      <str name="field">lowerfilt</str>
      <str name="spellcheckIndexDir">spellchecker1</str>
      <str name="buildOnCommit">true</str>
    </lst>
    <lst name="spellchecker">
      <str name="name">default_teststop</str>
      <str name="spellcheckIndexDir">default_teststop</str>
      <str name="buildOnCommit">true</str>
      <str name="field">teststop</str>
    </lst>
    <lst name="spellchecker">
      <str name="name">direct</str>
      <str name="classname">solr.DirectSolrSpellChecker</str>
      <int name="minQueryLength">3</int>
      <float name="maxQueryFrequency">100</float>
      <str name="field">teststop</str>
    </lst>
    <lst name="spellchecker">
      <str name="name">direct_lowerfilt</str>
      <str name="classname">solr.DirectSolrSpellChecker</str>
      <int name="minQueryLength">3</int>
      <float name="maxQueryFrequency">100</float>
      <str name="field">lowerfilt</str>
    </lst>
    <lst name="spellchecker">
      <str name="name">wordbreak</str>
      <str name="classname">solr.WordBreakSolrSpellChecker</str>      
      <str name="field">lowerfilt</str>
      <str name="combineWords">true</str>
      <str name="breakWords">true</str>
      <str name="breakSugestionTieBreaker">MAX_FREQ</str>
      <int name="maxChanges">10</int>
    </lst>
    <lst name="spellchecker">
      <str name="name">threshold</str>
      <str name="field">lowerfilt</str>
      <str name="spellcheckIndexDir">spellcheckerThreshold</str>
      <str name="buildOnCommit">true</str>
      <float name="thresholdTokenFrequency">.29</float>
    </lst>
    <lst name="spellchecker">
      <str name="name">threshold_direct</str>
      <str name="classname">solr.DirectSolrSpellChecker</str>
      <str name="field">lowerfilt</str>
      <str name="spellcheckIndexDir">spellcheckerThreshold</str>
      <str name="buildOnCommit">true</str>
      <float name="thresholdTokenFrequency">.29</float>
    </lst>
    <lst name="spellchecker">
      <str name="name">multipleFields</str>
      <str name="field">lowerfilt1and2</str>
      <str name="spellcheckIndexDir">spellcheckerMultipleFields</str>
      <str name="buildOnCommit">true</str>
     </lst>
    <!-- Example of using different distance measure -->
    <lst name="spellchecker">
      <str name="name">jarowinkler</str>
      <str name="field">lowerfilt</str>
      <!-- Use a different Distance Measure -->
      <str name="distanceMeasure">org.apache.lucene.search.spell.JaroWinklerDistance</str>
      <str name="spellcheckIndexDir">spellchecker2</str>

    </lst>
    <lst name="spellchecker">
      <str name="classname">solr.FileBasedSpellChecker</str>
      <str name="name">external</str>
      <str name="sourceLocation">spellings.txt</str>
      <str name="characterEncoding">UTF-8</str>
      <str name="spellcheckIndexDir">spellchecker3</str>
    </lst>
    <!-- Comparator -->
    <lst name="spellchecker">
      <str name="name">freq</str>
      <str name="field">lowerfilt</str>
      <str name="spellcheckIndexDir">spellcheckerFreq</str>
      <!-- comparatorClass be one of:
        1. score (default)
        2. freq (Frequency first, then score)
        3. A fully qualified class name
       -->
      <str name="comparatorClass">freq</str>
      <str name="buildOnCommit">true</str>
    </lst>
    <lst name="spellchecker">
      <str name="name">fqcn</str>
      <str name="field">lowerfilt</str>
      <str name="spellcheckIndexDir">spellcheckerFQCN</str>
      <str name="comparatorClass">org.apache.solr.spelling.SampleComparator</str>
      <str name="buildOnCommit">true</str>
    </lst>
    <lst name="spellchecker">
      <str name="name">perDict</str>
      <str name="classname">org.apache.solr.handler.component.DummyCustomParamSpellChecker</str>
      <str name="field">lowerfilt</str>
    </lst>
  </searchComponent>

  <!--
  The SpellingQueryConverter to convert raw (CommonParams.Q) queries into tokens.  Uses a simple regular expression
   to strip off field markup, boosts, ranges, etc. but it is not guaranteed to match an exact parse from the query parser.
   -->
  <queryConverter name="queryConverter" class="org.apache.solr.spelling.SpellingQueryConverter"/>

  <requestHandler name="/spellCheckCompRH" class="org.apache.solr.handler.component.SearchHandler">
    <lst name="defaults">
      <!-- omp = Only More Popular -->
      <str name="spellcheck.onlyMorePopular">false</str>
      <!-- exr = Extended Results -->
      <str name="spellcheck.extendedResults">false</str>
      <!--  The number of suggestions to return -->
      <str name="spellcheck.count">1</str>
    </lst>
    <arr name="last-components">
      <str>spellcheck</str>
    </arr>
  </requestHandler>
  <requestHandler name="/spellCheckCompRH1" class="org.apache.solr.handler.component.SearchHandler">
      <lst name="defaults">
        <str name="defType">dismax</str>
        <str name="qf">lowerfilt1^1</str>
      </lst>
      <arr name="last-components">
        <str>spellcheck</str>
      </arr>
 </requestHandler>
 <requestHandler name="/spellCheckWithWordbreak" class="org.apache.solr.handler.component.SearchHandler">
    <lst name="defaults">
      <str name="spellcheck.dictionary">default</str>
      <str name="spellcheck.dictionary">wordbreak</str>
      <str name="spellcheck.count">20</str>
    </lst>
    <arr name="last-components">
      <str>spellcheck</str>
    </arr>
  </requestHandler>
  <initParams path="/spellCheckCompRH,/spellCheckCompRH1,/spellCheckWithWordbreak">
    <lst name="defaults">
      <str name="df">text</str>
    </lst>
  </initParams>

</config>
