2013-12-05 3 views
1

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

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

Перезапуск 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> 

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

EDIT

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

+0

Я играл и узнал, что, когда я просто индексирую 100 предметов, он работает. Но когда я пытаюсь индексировать около 1000 элементов, запрос зависает навсегда. – 23tux

+0

Я также пробовал обновление до 4.6, ту же ошибку – 23tux

+0

Проверьте свои журналы. Ошибки конфигурации сообщаются там. Это также может быть исключение OOM. Запустите Solr с необходимыми флагами для отладки. –

ответ

0

Я нашел решение здесь, если кому-то интересно: solr - spellcheck causing Core Reload to hang

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

Смежные вопросы