blob: 0f79d7c4572f6889313da459b3ad15995df10a3b [file] [log] [blame]
<?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.
-->
<!-- solrconfig.xml for a WFST phrase suggester -->
<config>
<luceneMatchVersion>${tests.luceneMatchVersion:LATEST}</luceneMatchVersion>
<xi:include href="solrconfig.snippet.randomindexconfig.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<dataDir>${solr.data.dir:}</dataDir>
<directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.RAMDirectoryFactory}"/>
<schemaFactory class="ClassicIndexSchemaFactory"/>
<requestHandler name="/select" class="solr.SearchHandler"></requestHandler>
<!-- WFSTLookup suggest component -->
<searchComponent class="solr.SpellCheckComponent" name="suggest_wfst">
<lst name="spellchecker">
<str name="name">suggest_wfst</str>
<str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.fst.WFSTLookupFactory</str>
<str name="storeDir">suggest_wfst</str>
<str name="buildOnCommit">false</str>
<!-- Suggester properties -->
<bool name="exactMatchFirst">true</bool>
<str name="sourceLocation">phrasesuggest.txt</str>
</lst>
<!-- specify a fieldType using keywordtokenizer + lowercase + cleanup -->
<str name="queryAnalyzerFieldType">phrase_suggest</str>
</searchComponent>
<!-- AnalyzingLookup suggest component -->
<searchComponent class="solr.SpellCheckComponent" name="suggest_analyzing">
<lst name="spellchecker">
<str name="name">suggest_analyzing</str>
<str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.fst.AnalyzingLookupFactory</str>
<str name="storeDir">suggest_analyzing</str>
<str name="buildOnCommit">false</str>
<!-- Suggester properties -->
<bool name="exactMatchFirst">true</bool>
<str name="suggestAnalyzerFieldType">ja_suggest</str>
<bool name="preserveSep">false</bool>
<str name="sourceLocation">jasuggest.txt</str>
</lst>
<!-- specify a fieldType using keywordtokenizer + lowercase + cleanup -->
<str name="queryAnalyzerFieldType">phrase_suggest</str>
</searchComponent>
<!-- AnalyzingInfixLookup suggest component (default)-->
<searchComponent class="solr.SpellCheckComponent" name="infix_suggest_analyzing">
<lst name="spellchecker">
<str name="name">infix_suggest_analyzing</str>
<str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.fst.AnalyzingInfixLookupFactory</str>
<str name="buildOnCommit">false</str>
<!-- Suggester properties -->
<str name="suggestAnalyzerFieldType">text</str>
<str name="sourceLocation">analyzingInfixSuggest.txt</str>
</lst>
<!-- specify a fieldType using keywordtokenizer + lowercase + cleanup -->
<str name="queryAnalyzerFieldType">phrase_suggest</str>
</searchComponent>
<!-- AnalyzingInfixLookup suggest component (SolrSuggester - default) -->
<searchComponent class="solr.SuggestComponent" name="analyzing_infix_suggest">
<!-- Default: highlight - true, allTermsRequired - true -->
<lst name="suggester">
<str name="name">analyzing_infix_suggest_default</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="dictionaryImpl">FileDictionaryFactory</str>
<str name="buildOnCommit">false</str>
<str name="indexPath">analyzing_infix_suggest_default</str>
<str name="sourceLocation">analyzingInfixSuggest.txt</str>
<str name="suggestAnalyzerFieldType">text</str>
</lst>
<lst name="suggester">
<str name="name">analyzing_infix_suggest_without_highlight</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="dictionaryImpl">FileDictionaryFactory</str>
<str name="buildOnCommit">false</str>
<str name="indexPath">analyzing_infix_suggest_without_highlight</str>
<str name="sourceLocation">analyzingInfixSuggest.txt</str>
<str name="suggestAnalyzerFieldType">text</str>
<bool name="highlight">false</bool>
</lst>
<lst name="suggester">
<str name="name">analyzing_infix_suggest_not_all_terms_required</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="dictionaryImpl">FileDictionaryFactory</str>
<str name="buildOnCommit">false</str>
<str name="indexPath">analyzing_infix_suggest_not_all_terms_required</str>
<str name="sourceLocation">analyzingInfixSuggest.txt</str>
<str name="suggestAnalyzerFieldType">text</str>
<bool name="allTermsRequired">false</bool>
</lst>
</searchComponent>
<!-- FuzzyLookup suggest component with HighFrequencyDictionary -->
<searchComponent class="solr.SuggestComponent" name="fuzzy_suggest_analyzing_with_high_freq_dict">
<lst name="suggester">
<str name="name">fuzzy_suggest_analyzing_with_high_freq_dict</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.fst.FuzzyLookupFactory</str>
<str name="dictionaryImpl">org.apache.solr.spelling.suggest.HighFrequencyDictionaryFactory</str>
<str name="storeDir">fuzzy_suggest_analyzing</str>
<str name="buildOnCommit">false</str>
<!-- Suggester properties -->
<bool name="exactMatchFirst">true</bool>
<str name="suggestAnalyzerFieldType">text</str>
<bool name="preserveSep">false</bool>
<str name="field">stext</str>
</lst>
</searchComponent>
<searchComponent class="solr.SuggestComponent" name="free_text_suggest">
<lst name="suggester">
<str name="name">free_text_suggest</str>
<str name="lookupImpl">FreeTextLookupFactory</str>
<str name="dictionaryImpl">FileDictionaryFactory</str>
<str name="storeDir">free_text_suggest</str>
<str name="buildOnCommit">false</str>
<str name="sourceLocation">freeTextSuggest.txt</str>
<!-- Suggester properties -->
<str name="separator"> </str>
<str name="suggestFreeTextAnalyzerFieldType">text</str>
<int name="ngrams">2</int>
</lst>
</searchComponent>
<searchComponent class="solr.SuggestComponent" name="blended_infix_suggest">
<lst name="suggester">
<str name="name">blended_infix_suggest_linear</str>
<str name="lookupImpl">BlendedInfixLookupFactory</str>
<str name="dictionaryImpl">FileDictionaryFactory</str>
<str name="buildOnCommit">false</str>
<str name="sourceLocation">blendedInfixSuggest.txt</str>
<str name="indexPath">blendedInfixDir1</str>
<!-- Suggester properties -->
<!--full enum name of BlenderType-->
<str name="blenderType">position_linear</str>
<str name="suggestAnalyzerFieldType">text</str>
</lst>
<lst name="suggester">
<str name="name">blended_infix_suggest_reciprocal</str>
<str name="lookupImpl">BlendedInfixLookupFactory</str>
<str name="dictionaryImpl">FileDictionaryFactory</str>
<str name="buildOnCommit">false</str>
<str name="sourceLocation">blendedInfixSuggest.txt</str>
<str name="indexPath">blendedInfixDir2</str>
<!-- Suggester properties -->
<!--full enum name of BlenderType-->
<str name="blenderType">position_reciprocal</str>
<str name="suggestAnalyzerFieldType">text</str>
</lst>
<lst name="suggester">
<!-- exponential with default exponent -->
<str name="name">blended_infix_suggest_exponential_reciprocal</str>
<str name="lookupImpl">BlendedInfixLookupFactory</str>
<str name="dictionaryImpl">FileDictionaryFactory</str>
<str name="buildOnCommit">false</str>
<str name="sourceLocation">blendedInfixSuggest.txt</str>
<str name="indexPath">blended_infix_suggest_exponential_reciprocal</str>
<!-- Suggester properties -->
<!--full enum name of BlenderType-->
<str name="blenderType">position_exponential_reciprocal</str>
<str name="suggestAnalyzerFieldType">text</str>
</lst>
<lst name="suggester">
<str name="name">blended_infix_suggest_exponential_reciprocal_1</str>
<str name="lookupImpl">BlendedInfixLookupFactory</str>
<str name="dictionaryImpl">FileDictionaryFactory</str>
<str name="buildOnCommit">false</str>
<str name="sourceLocation">blendedInfixSuggest.txt</str>
<str name="indexPath">blended_infix_suggest_exponential_reciprocal_1</str>
<!-- Suggester properties -->
<str name="blenderType">position_exponential_reciprocal</str>
<double name="exponent">1.0</double>
<str name="suggestAnalyzerFieldType">text</str>
</lst>
</searchComponent>
<!-- FuzzyLookup suggest component with FileDictionaryFactory -->
<searchComponent class="solr.SuggestComponent" name="fuzzy_suggest_analyzing_with_file_dict">
<lst name="suggester">
<str name="name">fuzzy_suggest_analyzing_with_file_dict</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.fst.FuzzyLookupFactory</str>
<str name="dictionaryImpl">org.apache.solr.spelling.suggest.FileDictionaryFactory</str>
<str name="storeDir">fuzzy_suggest_analyzing</str>
<str name="buildOnCommit">false</str>
<!-- Suggester properties -->
<bool name="exactMatchFirst">true</bool>
<str name="suggestAnalyzerFieldType">text</str>
<bool name="preserveSep">false</bool>
<str name="sourceLocation">fuzzysuggest.txt</str>
</lst>
</searchComponent>
<!-- FuzzyLookup suggest component (default)-->
<searchComponent class="solr.SpellCheckComponent" name="fuzzy_suggest_analyzing">
<lst name="spellchecker">
<str name="name">fuzzy_suggest_analyzing</str>
<str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.fst.FuzzyLookupFactory</str>
<str name="storeDir">fuzzy_suggest_analyzing</str>
<str name="buildOnCommit">false</str>
<!-- Suggester properties -->
<bool name="exactMatchFirst">true</bool>
<str name="suggestAnalyzerFieldType">text</str>
<bool name="preserveSep">false</bool>
<str name="sourceLocation">fuzzysuggest.txt</str>
</lst>
<!-- specify a fieldType using keywordtokenizer + lowercase + cleanup -->
<str name="queryAnalyzerFieldType">phrase_suggest</str>
</searchComponent>
<!-- FuzzyLookup suggest component with max edit 2-->
<searchComponent class="solr.SpellCheckComponent" name="fuzzy_suggest_analyzing_with_max_edit_2">
<lst name="spellchecker">
<str name="name">fuzzy_suggest_analyzing_with_max_edit_2</str>
<str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.fst.FuzzyLookupFactory</str>
<str name="storeDir">fuzzy_suggest_analyzing_with_max_edit_2</str>
<str name="buildOnCommit">false</str>
<!-- Suggester properties -->
<bool name="exactMatchFirst">true</bool>
<str name="suggestAnalyzerFieldType">text</str>
<bool name="preserveSep">false</bool>
<int name="maxEdits">2</int>
<str name="sourceLocation">fuzzysuggest.txt</str>
</lst>
<!-- specify a fieldType using keywordtokenizer + lowercase + cleanup -->
<str name="queryAnalyzerFieldType">phrase_suggest</str>
</searchComponent>
<!-- FuzzyLookup suggest component with 4 non_fuzzy_prefix -->
<searchComponent class="solr.SpellCheckComponent" name="fuzzy_suggest_analyzing_with_non_fuzzy_prefix_4">
<lst name="spellchecker">
<str name="name">fuzzy_suggest_analyzing_with_non_fuzzy_prefix_4</str>
<str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.fst.FuzzyLookupFactory</str>
<str name="storeDir">fuzzy_suggest_analyzing_with_non_fuzzy_prefix_4</str>
<str name="buildOnCommit">false</str>
<!-- Suggester properties -->
<bool name="exactMatchFirst">true</bool>
<str name="suggestAnalyzerFieldType">text</str>
<bool name="preserveSep">false</bool>
<int name="nonFuzzyPrefix">4</int>
<str name="sourceLocation">fuzzysuggest.txt</str>
</lst>
<!-- specify a fieldType using keywordtokenizer + lowercase + cleanup -->
<str name="queryAnalyzerFieldType">phrase_suggest</str>
</searchComponent>
<!-- FuzzyLookup suggest component with 2 min_fuzzy_length -->
<searchComponent class="solr.SpellCheckComponent" name="fuzzy_suggest_analyzing_with_min_fuzzy_length_2">
<lst name="spellchecker">
<str name="name">fuzzy_suggest_analyzing_with_min_fuzzy_length_2</str>
<str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.fst.FuzzyLookupFactory</str>
<str name="storeDir">fuzzy_suggest_analyzing_with_min_fuzzy_length_2</str>
<str name="buildOnCommit">false</str>
<!-- Suggester properties -->
<bool name="exactMatchFirst">true</bool>
<str name="suggestAnalyzerFieldType">text</str>
<bool name="preserveSep">false</bool>
<int name="minFuzzyLength">2</int>
<str name="sourceLocation">fuzzysuggest.txt</str>
</lst>
<!-- specify a fieldType using keywordtokenizer + lowercase + cleanup -->
<str name="queryAnalyzerFieldType">phrase_suggest</str>
</searchComponent>
<!-- is this thing just configured globally or wtf is going on here?! -->
<queryConverter name="queryConverter" class="org.apache.solr.spelling.SuggestQueryConverter"/>
<!-- wfst (finite state automaton based) -->
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/suggest_wfst">
<lst name="defaults">
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">suggest_wfst</str>
<str name="spellcheck.collate">false</str>
<!-- NOTE: if this is false, results are alpha-ordered, not by weight! -->
<str name="spellcheck.onlyMorePopular">true</str>
</lst>
<arr name="components">
<str>suggest_wfst</str>
</arr>
</requestHandler>
<!-- analyzing (finite state automaton based) -->
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/suggest_analyzing">
<lst name="defaults">
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">suggest_analyzing</str>
<str name="spellcheck.collate">false</str>
<!-- NOTE: if this is false, results are alpha-ordered, not by weight! -->
<str name="spellcheck.onlyMorePopular">true</str>
</lst>
<arr name="components">
<str>suggest_analyzing</str>
</arr>
</requestHandler>
<!-- Infix analyzing handler (default) -->
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/infix_suggest_analyzing">
<lst name="defaults">
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">infix_suggest_analyzing</str>
<str name="spellcheck.collate">false</str>
<!-- NOTE: if this is false, results are alpha-ordered, not by weight! -->
<str name="spellcheck.onlyMorePopular">true</str>
</lst>
<arr name="components">
<str>infix_suggest_analyzing</str>
</arr>
</requestHandler>
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/fuzzy_suggest_analyzing_with_file_dict">
<lst name="defaults">
<str name="suggest">true</str>
</lst>
<arr name="components">
<str>fuzzy_suggest_analyzing_with_file_dict</str>
</arr>
</requestHandler>
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/analyzing_infix_suggest">
<lst name="defaults">
<str name="suggest">true</str>
</lst>
<arr name="components">
<str>analyzing_infix_suggest</str>
</arr>
</requestHandler>
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/blended_infix_suggest">
<lst name="defaults">
<str name="suggest">true</str>
</lst>
<arr name="components">
<str>blended_infix_suggest</str>
</arr>
</requestHandler>
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/free_text_suggest">
<lst name="defaults">
<str name="suggest">true</str>
</lst>
<arr name="components">
<str>free_text_suggest</str>
</arr>
</requestHandler>
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/fuzzy_suggest_analyzing_with_high_freq_dict">
<lst name="defaults">
<str name="suggest">true</str>
</lst>
<arr name="components">
<str>fuzzy_suggest_analyzing_with_high_freq_dict</str>
</arr>
</requestHandler>
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/fuzzy_suggest_analyzing">
<lst name="defaults">
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">fuzzy_suggest_analyzing</str>
<str name="spellcheck.collate">false</str>
<!-- NOTE: if this is false, results are alpha-ordered, not by weight! -->
<str name="spellcheck.onlyMorePopular">true</str>
</lst>
<arr name="components">
<str>fuzzy_suggest_analyzing</str>
</arr>
</requestHandler>
<!-- Fuzzy analyzing handler with 2 max edit -->
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/fuzzy_suggest_analyzing_with_max_edit_2">
<lst name="defaults">
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">fuzzy_suggest_analyzing_with_max_edit_2</str>
<str name="spellcheck.collate">false</str>
<!-- NOTE: if this is false, results are alpha-ordered, not by weight! -->
<str name="spellcheck.onlyMorePopular">true</str>
</lst>
<arr name="components">
<str>fuzzy_suggest_analyzing_with_max_edit_2</str>
</arr>
</requestHandler>
<!-- Fuzzy analyzing handler with 4 non_fuzzy_prefix -->
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/fuzzy_suggest_analyzing_with_non_fuzzy_prefix_4">
<lst name="defaults">
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">fuzzy_suggest_analyzing_with_non_fuzzy_prefix_4</str>
<str name="spellcheck.collate">false</str>
<!-- NOTE: if this is false, results are alpha-ordered, not by weight! -->
<str name="spellcheck.onlyMorePopular">true</str>
</lst>
<arr name="components">
<str>fuzzy_suggest_analyzing_with_non_fuzzy_prefix_4</str>
</arr>
</requestHandler>
<!-- Fuzzy analyzing handler with 2 min_fuzzy_length -->
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/fuzzy_suggest_analyzing_with_min_fuzzy_length_2">
<lst name="defaults">
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">fuzzy_suggest_analyzing_with_min_fuzzy_length_2</str>
<str name="spellcheck.collate">false</str>
<!-- NOTE: if this is false, results are alpha-ordered, not by weight! -->
<str name="spellcheck.onlyMorePopular">true</str>
</lst>
<arr name="components">
<str>fuzzy_suggest_analyzing_with_min_fuzzy_length_2</str>
</arr>
</requestHandler>
</config>