Я должен извлечь репрезентативные термины с веб-сайта организации, используя дамп данных статьи-ссылки wikipedia. Для достижения этой цели Я -Как улучшить производительность при работе с данными в википедии и огромным нет. веб-страниц?
- Просканировано веб-страниц & загружающие организации. (~ 110 000)
- Создал словарь с идентификатором и термином/названием wikipedia. (~ 40 млн записей)
Теперь я должен обрабатывать каждый из веб-страниц с использованием словаря распознавать термины и отслеживать их срока IdS & частот.
Чтобы словарь вписывался в память, я разделил словарь на более мелкие файлы. Основываясь на моем эксперименте с небольшим набором данных, время обработки для выше будет около 75 дней.
И это только для 1 организации. Я должен сделать то же самое для более чем 40 из них.
Реализация -
- HashMap для хранения словаря в памяти.
- Прокрутка каждой записи карты для поиска термина на веб-странице с использованием реализации поиска Boyer-Moore.
- Повторяя приведенное выше для каждой веб-страницы и сохраняя результаты в HashMap.
Я попытался оптимизировать код и настроить JVM для лучшей производительности.
Может кто-нибудь, пожалуйста, посоветуйте более эффективный способ реализовать вышеизложенное, сократив время обработки до нескольких дней.
Возможно ли использовать Hadoop?
Вы должны обязательно использовать Lucene для выполнения этой задачи. –
Спасибо @MarkoTopolnik. Я проведу Lucene. – user3227868