Я использую solr вместе с tomcat как сервлет. Я установил solr для использования только одного ядра и определил DIH для импорта документов по строкам из таблиц mysql. Все в порядке и работает хорошо. документы индексируются правильно, и я могу искать среди них.Solr - Запуск из памяти кучи во время выполнения spellcheck.build
Проблема заключается в том, что я пытаюсь использовать модуль Suggester но у меня есть проблема здание, что все это нужно строить в первый раз, используя URL-адрес, как это:
http://user:[email protected]:port/solr/corename/suggest?q=whatever&spellcheck.build=true
я оставил одну важную информация: импортируемые данные составляют 4,7 миллиона записей прямо сейчас.
Сначала он не мог событие построить проверки орфографии словаря (если это то, что это здание) за 1 миллион документов, потому что JVM будет запускать из памяти кучи со следующим сообщением:
java.lang.OutOfMemoryError: GC overhead limit exceededjava.lang.RuntimeException:
java.lang.OutOfMemoryError: GC overhead limit exceeded at
org.apache.solr.servlet.SolrDispatchFilter.sendError(SolrDispatchFilter.java:793) at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:434) at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at
поэтому я постепенно увеличил память кучи, и сейчас это около 2 ГБ, что, я думаю, много.
Конечно, очевидное решение состоит в том, чтобы снова увеличить память кучи java, но я блуждаю, если есть способ разделить и покорить процесс построения словаря? Или любое другое решение в этом отношении.
Большое спасибо
Не работает. Спасибо anyways –