Este repositório consiste no Mini Project realizado como parte da recuperação e extração de informações do curso - primavera de 2014. O curso foi instruído pelo Dr. Vasudeva Varma.
## Requisitos Python 2.6 ou acima
Bibliotecas Python:
## Problema O mini projeto envolve a criação de um mecanismo de pesquisa no dump de dados da Wikipedia sem usar nenhum índice externo. Para este projeto, usamos o despejo de dados de 2013 do tamanho 43 GB. Os resultados da pesquisa retornam em tempo real. A pesquisa multi -palavra e multi -campo no Wikipedia corpus é implementada. O analisador sax é usado para analisar o corpus XML. Depois de analisar as seguintes operações morfológicas, são implementadas:
O índice, consistindo em palavras com haste e lista de postagens, é construído para o corpus depois de executar as operações acima, juntamente com o título e o mapeamento exclusivo que usei para cada documento. Assim, o ID do documento da página da Wikipedia é ignorado. Isso ajuda a reduzir o tamanho, pois o ID do documento não começa com o número de um dígito no corpus. Como o tamanho do corpus não se encaixará na memória principal, vários arquivos de índice são gerados. Em seguida, esses arquivos de índice são mesclados usando a mesclagem K-Way, além de criar arquivos de índices baseados em campo.
Por exemplo, index0.txt, index1.txt, index2.txt são gerados. Esses arquivos podem conter a mesma palavra. Portanto, a fusão K Way é aplicada e os arquivos baseados em campo são gerados junto com seus respectivos compensações. Esses arquivos baseados em campo são gerados usando multi-threading. Isso ajuda a fazer várias E/S simultaneamente. Junto com isso, o arquivo de vocabulário também é gerado.
Junto com eles, também armazenei as compensações de cada um dos arquivos de campo. Isso reduz o tempo de pesquisa para o (logm * logn), onde m é o número de palavras no arquivo de vocabulário e m é o número de palavras no maior arquivo de campo.
A pasta SRC contém os seguintes arquivos:
### Funções principais:
Para executar este código, execute o seguinte: python wikiindexer.py ./sampletext ./OutputFolderPathPath
Para executar este código, execute o seguinte: Python search.py ./OutputFolderPath
Funções do auxiliar ###:
textprocessing.py Esta função ajudante faz todo o pré -processamento. Ele atua como ajudante de busca.py, wikiindexer.py
FileHandler.py Esta função faz todo o pré -processamento do arquivo. Ele atua como auxiliar para wikiindexer.py