Этот репозиторий состоит из мини -проекта, выполненного как часть поиска и извлечения информации и извлечения курса - весна 2014 года. Курс был проинструктирован доктором Васудевой Вармой.
## Требования Python 2.6 или выше
Библиотеки Python:
## Задача. Для этого проекта мы используем дамп данных 2013 года размером 43 ГБ. Результаты поиска возвращаются в режиме реального времени. Реализуется многоуровневый поиск в Wikipedia Corpus. Sax Parser используется для анализа XML Corpus. После анализа внедрены следующие морфологические операции:
Индекс, состоящий из слов и списка публикаций, создается для корпуса после выполнения вышеуказанных операций вместе с заголовком и уникальным отображением, которое я использовал для каждого документа. Таким образом, идентификатор документа на странице Википедии игнорируется. Это помогает уменьшить размер, так как идентификатор документа не начинается с однозначного числа в корпусе. Поскольку размер корпуса не вписывается в основную память, несколько индексных файлов генерируются. Затем эти индексные файлы объединяются с использованием K-Way Merge вместе с созданием файлов индексов на основе полевых полетов.
Например, index0.txt, index1.txt, index2.txt генерируется. Эти файлы могут содержать одно и то же слово. Следовательно, применяется k way merge, а полевые файлы генерируются вместе с их соответствующими смещениями. Эти полевые файлы генерируются с использованием многопоточного. Это помогает выполнять несколько ввода/вывода одновременно. Наряду с этим также генерируется словарный файл.
Наряду с ними я также сохранил смещения каждого из полевых файлов. Это уменьшает время поиска до O (logm * logn), где m - это количество слов в файле словаря, а M - это количество слов в самом большом файле поле.
Папка SRC содержит следующие файлы:
### Основные функции:
Чтобы запустить этот код, запустите следующее: Python wikiindexer.py ./sampletext ./outputfolderPath
Чтобы запустить этот код. Запустите следующее: Python search.py ./outputfolderPath
### Помощные функции:
TextProcessing.py Эта вспомогательная функция выполняет всю предварительную обработку. Он действует как помощник для search.py, wikiindexer.py
filehandler.py Эта функция выполняет всю предварительную обработку файла. Он действует как помощник для wikiindexer.py