Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Вот индексная документация формата lucene. Главный файл является составным индексом (.cfs файл). Если у Вас есть статистика термина, можно, вероятно, получить оценку для .cfs размера файла, Примечание, что это варьируется значительно на основе Анализатора, который Вы используете, и на типах поля, которые Вы определяете.
Я думаю, что это должно также сделать с частотой каждого термина (т.е. индекс 10 000 копий условий сем должен быть намного меньшим, чем индекс 10 000 совершенно уникальных условий).
Кроме того, существует, вероятно, маленькая зависимость от того, используете ли Вы Вектора терминов или нет, и конечно храните ли Вы поля или нет. Можно ли предоставить больше подробную информацию? Можно ли проанализировать частотность термина исходных данных?