Solr: после перезагрузки основной конфигурации панель администратора не отвечает

Я запускаю Solr 4.2 с sunspot в Rails и проиндексировал около 6000 элементов. В настоящее время играю с функцией проверки орфографии. Но каждый раз, когда я вношу изменения в solrconfig.xml (например, включаю и выключаю сопоставление), панель администратора из solr больше не отвечает.

Когда я пытаюсь выполнить запрос, появляется счетчик загрузки и ничего не происходит. Такое же поведение для других частей панели, таких как Core Admin или Статистика.

Перезапуск solr не помогает. Повторная индексация предметов тоже не помогает. Работает только удаление всех файлов индекса, перезапуск solr и повторная индексация всех элементов; но это болезненный способ работы.

Кто-нибудь знает, что здесь происходит? С чего начать отладку? Связано ли это с компонентом SpellChecker? Может я что-то здесь упустил.

Это часть из solrconfig.xml, с которой я играю:

<searchComponent name="spellcheck" class="solr.SpellCheckComponent">

  <str name="queryAnalyzerFieldType">text_general</str>

  <lst name="spellchecker">
    <str name="name">default</str>
    <str name="field">name_texts</str>
    <str name="field">taxon_permalinks_sms</str>
    <str name="classname">solr.DirectSolrSpellChecker</str>
    <!-- the spellcheck distance measure used, the default is the internal levenshtein -->
    <str name="distanceMeasure">internal</str>
    <!-- minimum accuracy needed to be considered a valid spellcheck suggestion -->
    <float name="accuracy">0.5</float>
    <!-- the maximum #edits we consider when enumerating terms: can be 1 or 2 -->
    <int name="maxEdits">2</int>
    <!-- the minimum shared prefix when enumerating terms -->
    <int name="minPrefix">1</int>
    <!-- maximum number of inspections per result. -->
    <int name="maxInspections">5</int>
    <!-- minimum length of a query term to be considered for correction -->
    <int name="minQueryLength">4</int>
    <!-- maximum threshold of documents a query term can appear to be considered for correction -->
    <float name="maxQueryFrequency">0.01</float>
    <!-- uncomment this to require suggestions to occur in 1% of the documents
        <float name="thresholdTokenFrequency">.01</float>
    -->
  </lst>

  <!-- a spellchecker that can break or combine words.  See "/spell" handler below for usage -->
  <lst name="spellchecker">
    <str name="name">wordbreak</str>
    <str name="classname">solr.WordBreakSolrSpellChecker</str>
    <str name="field">name_texts</str>
    <str name="field">taxon_permalinks_sms</str>
    <str name="combineWords">true</str>
    <str name="breakWords">true</str>
    <int name="maxChanges">5</int>
  </lst>
</searchComponent>

<requestHandler name="/select" class="solr.SearchHandler">
   <lst name="defaults">
     <str name="echoParams">explicit</str>
     <int name="rows">10</int>
     <str name="df">text</str>

     <str name="spellcheck.dictionary">default</str>
     <str name="spellcheck.dictionary">wordbreak</str>
     <str name="spellcheck">on</str>
     <str name="spellcheck.extendedResults">true</str>
     <str name="spellcheck.count">10</str>
     <str name="spellcheck.alternativeTermCount">5</str>
     <str name="spellcheck.maxResultsForSuggest">5</str>
     <str name="spellcheck.collate">true</str>
     <str name="spellcheck.collateExtendedResults">true</str>
     <str name="spellcheck.maxCollationTries">10</str>
     <str name="spellcheck.maxCollations">5</str>
   </lst>
   <arr name="last-components">
     <str>spellcheck</str>
   </arr>
</requestHandler>

И, кстати, как я могу проверить, действительна ли моя конфигурация для различных компонентов?

ИЗМЕНИТЬ

Когда я пытаюсь открыть поиск напрямую, например curl или в моем браузере тоже зависает загрузка (например, вызов http://localhost:8982/solr/core1/select?q=*%3A*&wt=xml&indent=true)


person 23tux    schedule 05.12.2013    source источник
comment
Я поигрался и обнаружил, что когда я просто индексирую 100 элементов, это работает. Но когда я пытаюсь проиндексировать около ›1000 элементов, запрос зависает навсегда.   -  person 23tux    schedule 06.12.2013
comment
Я также пробовал обновиться до 4.6, та же ошибка   -  person 23tux    schedule 06.12.2013
comment
Проверьте свои журналы. Там сообщается об ошибках конфигурации. Это также может быть исключение OOM. Запустите Solr с необходимыми флагами для отладки.   -  person Okke Klein    schedule 06.12.2013


Ответы (1)


Я нашел решение здесь, если кому-то интересно: solr - проверка орфографии, вызывающая перезагрузку ядра для повесить

Оказывается, это ошибка Solr, но есть простой обходной путь. Вы должны удалить <str name="spellcheck.maxCollationTries">10</str> внутри обработчика запросов. Эта строка вызывает проблему. Если вам действительно нужен этот параметр, просто добавьте его в свой URL-адрес и в свой сейф.

person 23tux    schedule 06.12.2013