| <?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> |