eDoc
Roadmap:
Objetivo: Produzir uma search engine que trabalhe com coleções de documentos na escala de gigabytes
- Queries Booleanas (term frequency) - Objetivo Inicial
- Indices (lexicon + inverted file)
a. In-memory (hashtable + linked list)
b. Disk + Memory (hashtable + separated inverted files)
c. Disk SPIMI (hashtable + b+tree + inverted file)
- Coleções de documentos para teste e suporte a arquivos (coleções de documentos em disco e suporte a DOC/DOCX/TXT/PDF)
- Steming e stop swords (analise de simbolos e termos do lexicon)
- Logs
a. Tempo de indexação
b. Tempo de pesquisa
c. Estatísticas da coleção (tamanho medio do documento, quantidade de documentos, quantidade de termos no lexicon, etc)
d. Queries pesquisadas e resultados ordenados
- Queries Rankeadas
a. TF
b. TF-IDF
c. BM25
d. BM25-OKAPI
e. Pivoted Length normalization
- Ajustes de performance
a. Linearidade vs Concorrência (ajustes nos algoritmos para uso de múltiplas threads)
b. Alocação de memória (gestão de memória e time de alocação de recursos)
c. Desempenho e arquitetura de discos e avaliação do impacto nos algoritmos de indexação (SATA vs SSD - sem array de discos)
d. Fragmentação de discos
e. Add cache for queries results
- Aquisição de documentos e incremento da coleção de testes (TCCs da POLI)
a. Repositórios e bancos de dados de documentos
b. Crawler
c. Robots.txt
d. Aprovação de documentos (candidatos vs documentos importantes)
- Interfaces para o sistema
a. Aplicativos para indexação e testes de queries padrão
b. Interfaces web para acesso a engine de pesquisa pelo usuário