Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-9435

Un-recoverable state while using AnalyzingInfixLookupFactory with collection RELOAD action

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 4.6.1
    • 6.4.1
    • spellchecker
    • None

    Description

      All search requests fails after few sequiancial of Collection RELOAD requests with using spellcheck component
      with AnalyzingInfixSuggester

      Observed in Solr 4.6.1

      Reproducible steps:
      1. Initialized spellcheck component with AnalyzingInfixLookupFactory
      2. Consider the collection "test_suggest" (if not create one)
      3. Lets have a dictionary file 'dictionary_a.txt' with size in MBs (~20MB). Each line contains a word (max 20char).
      4. Now, hit the collection reload (or core reload) few times in sequence. (Make sure that your dictionary files is large enough)

      • req (core reload) : GET http://<solrhost>:<port>/solr/admin/cores?action=RELOAD&core=test_suggest
        or
      • req (collection reload) : GET http://<solrhost>:<port>/solr/admin/collections?action=RELOAD&name=test_suggest
        5. do the search : GET http://<solrhost>:<port>/solr/test_suggest/suggest_handler?q=dr

      Response : All the search requests fails.
      Note : Do not turn off buildOnStartup

      Sample Configuration:
      <searchComponent name="suggest" class="solr.SpellCheckComponent">
      <lst name="spellchecker">
      <str name="name">suggest_a</str>
      <str name="lookupImpl">org.apache.solr.spelling.suggest.fst.AnalyzingInfixLookupFactory</str>
      <str name="indexPath">./index/analyzingSuggesterIndex_a</str>
      <str name="suggestAnalyzerFieldType">text_general</str>
      <str name="sourceLocation">./dictionaries/dictionary_a.txt</str>
      <str name="buildOnStartup">true</str>
      </lst>
      </searchComponent>
      <requestHandler name="/suggest_handler" class="org.apache.solr.handler.component.SearchHandler">
      <lst name="defaults">
      <str name="spellcheck">true</str>
      <str name="spellcheck.dictionary">suggest</str>
      <str name="spellcheck.count">30</str>
      <str name="spellcheck.onlyMorePopular">true</str>
      </lst>
      <arr name="components">
      <str>suggest</str>
      </arr>
      </requestHandler>

      Attachments

        Issue Links

          Activity

            People

              sarowe Steven Rowe
              ronak_kothari ronak kothari
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: