Skip to content

zeferreira/eDoc

Repository files navigation

eDoc

Roadmap: Objetivo: Produzir uma search engine que trabalhe com coleções de documentos na escala de gigabytes

  1. Queries Booleanas (term frequency) - Objetivo Inicial
  2. 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)
  3. Coleções de documentos para teste e suporte a arquivos (coleções de documentos em disco e suporte a DOC/DOCX/TXT/PDF)
  4. Steming e stop swords (analise de simbolos e termos do lexicon)
  5. 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
  6. Queries Rankeadas a. TF b. TF-IDF c. BM25 d. BM25-OKAPI e. Pivoted Length normalization
  7. 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
  8. 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)
  9. 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