Solr Suggest Component и OutOfMemory Ошибка - PullRequest
0 голосов
/ 11 июня 2018

Я использую компонент Solr Suggester в Solr 5.5 с большим количеством адресных данных.Моя машина выделила 20 ГБ ОЗУ для Solr, и машина имеет 32 ГБ ОЗУ.

У меня есть ядро ​​адресной книги со следующими показателями -

"numDocs"=153242074
"segmentCount"=34
"size"=30.29 GB

Мой solrconfig.xml выглядит примерно так -

<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
  <str name="name">mySuggester1</str>
  <str name="lookupImpl">FuzzyLookupFactory</str>
  <str name="storeDir">suggester_fuzzy_dir</str>

  <!-- Substitute these for the two above for another "flavor"
    <str name="lookupImpl">AnalyzingInfixLookupFactory</str>
    <str name=?indexPath?>suggester_infix_dir</str>
  -->

  <str name="dictionaryImpl">DocumentDictionaryFactory</str>
  <str name="field">site_address</str>
  <str name="suggestAnalyzerFieldType">suggestType</str>
  <str name="payloadField">property_metadata</str>
  <str name="buildOnStartup">false</str>
  <str name="buildOnCommit">false</str>
</lst>
<lst name="suggester">
  <str name="name">mySuggester2</str>
  <str name="lookupImpl">AnalyzingInfixLookupFactory</str>
  <str name="indexPath">suggester_infix_dir</str>

  <str name="dictionaryImpl">DocumentDictionaryFactory</str>
  <str name="field">site_address_other</str>
  <str name="suggestAnalyzerFieldType">suggestType</str>
  <str name="payloadField">property_metadata</str>
  <str name="buildOnStartup">false</str>
  <str name="buildOnCommit">false</str>
</lst>
</searchComponent>

Обработчик определен так-

<requestHandler name="/suggest" class="solr.SearchHandler" startup="lazy" >
<lst name="defaults">
  <str name="suggest">true</str>
  <str name="suggest.count">10</str>
  <str name="suggest.dictionary">mySuggester1</str>
  <str name="suggest.dictionary">mySuggester2</str>
  <str name="suggest.collate">false</str>
  <str name="echoParams">explicit</str>
</lst>
<arr name="components">
  <str>suggest</str>
</arr>
</requestHandler>

Постановка проблемы

Каждый раз, когда я пытаюсь построить индекс подсказки с использованием параметра URL-адреса offer.build = true, я получаю ошибку OutOfMemory,Я понятия не имею, как я могу заставить это работать с текущей настройкой.Кто-нибудь может объяснить, почему это происходит?И как я могу исправить эту проблему?

1 Ответ

0 голосов
/ 12 июня 2018

В списке рассылки критическая информация заключается в том, что OOME происходит из-за пространства кучи Java.

Это означает, что вам нужно либо увеличить размер кучи, либо уменьшить количество кучи, необходимое Solr.Не всегда возможно уменьшить требования к куче, но вот несколько идей:

https://wiki.apache.org/solr/SolrPerformanceProblems#Reducing_heap_requirements

...