Я пытаюсь добавить новый язык к инструменту автоматического определения языка Apache's tika. Необходимо добавить языковой профиль для добавления нового языка. Поэтому я использую плагин Nutch Language-Identifier для создания этого профиля.
Команда следующая:
bin/nutch plugin language-identifier org.apache.nutch.analysis.lang.NGramProfile -create ./language-detection-profile/jp ./language-detection-profile/japanese4ngram-1.txt utf-8
Где ./language-detection-profile/japanese4ngram-1.txt - это новый корпус языка.
Я тестировал корпус небольшого размера (1 МБ), и все в порядке, профиль создан, как я и ожидал.
Тем не менее, когда корпус большой (> 1 ГБ). У меня проблема нехватки памяти (пространства кучи), например
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.nutch.plugin.PluginRepository.main(PluginRepository.java:421)
Caused by: java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2882)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)
at java.lang.StringBuilder.append(StringBuilder.java:119)
at org.apache.nutch.analysis.lang.NGramProfile.create(NGramProfile.java:374)
at org.apache.nutch.analysis.lang.NGramProfile.main(NGramProfile.java:484)
... 5 more
Кто-нибудь знает, как указать размер пространства кучи для плагина Nutch? Спасибо.
Edit:
С помощью Микавели.
В Ubuntu:
набор
if [ "x$JAVA_LIBRARY_PATH" != "x" ]; then
NUTCH_OPTS="$NUTCH_OPTS -Djava.library.path=$JAVA_LIBRARY_PATH -Xmx2048m"
fi