| <?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="breakSuggestionTieBreaker">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> |
| <float name="accuracy">0.5</float> |
| </lst> |
| <!-- Comparator --> |
| <lst name="spellchecker"> |
| <str name="name">freq</str> |
| <str name="field">lowerfilt</str> |
| <str name="spellcheckIndexDir">spellcheckerFreq</str> |
| <!-- comparatorClass can 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> |