Skip to content

Estrutura de dados

André da Silva Freitas edited this page Jun 5, 2023 · 1 revision

SearchResult

Resumo

A estrutura de dados apresentada é composta por várias classes em C# para representar os modelos de dados em um aplicativo BugSearch. Vou resumir cada classe e suas propriedades para documentação em um banco de dados MongoDB.

  1. Classe SearchResult:

    • Propriedades:
      • Id (string, opcional): O identificador do resultado da pesquisa.
      • SearchResults (List): Uma lista de objetos WebSiteInfo que representam os resultados da pesquisa.
      • Pagination (Pagination): Um objeto Pagination que contém informações de paginação para os resultados.
  2. Classe WebSiteInfo:

    • Propriedades:
      • // As propriedades específicas de WebSiteInfo não foram fornecidas no código fornecido. Recomenda-se adicionar as propriedades relevantes a essa classe.
  3. Classe SummaryResult:

    • Propriedades:
      • Summary (Summary, opcional): Um objeto Summary que contém informações resumidas sobre os resultados da pesquisa.
  4. Classe Summary:

    • Propriedades:
      • IndexedPages (double, opcional): O número de páginas indexadas relacionadas à pesquisa.
      • IndexedTerms (double, opcional): O número de termos indexados relacionados à pesquisa.
  5. Classe Pagination:

    • Propriedades:
      • CurrentPage (int): O número da página atual.
      • TotalPages (int): O número total de páginas.
      • ItemsPerPage (int): O número de itens por página.

Cada documento representaria um resultado de pesquisa, contendo um ID, uma lista de objetos WebSiteInfo, informações de paginação e, opcionalmente, um resumo com informações agregadas.

 +-----------------+
 |   SearchResult  |
 +-----------------+
 | - Id: string?   |
 | - SearchResults |
 | - Pagination    |
 +-----------------+
       | 1
       |
       | contains
       |
       v
 +-----------------+
 |   WebSiteInfo   |
 +-----------------+
 | ...             |
 +-----------------+
       |
       | 1..*
       |
       v
 +------------------+
 |   SummaryResult  |
 +------------------+
 | - Summary:       |
 |     Summary?     |
 +------------------+
           |
           | 1
           |
           v
 +------------------+
 |     Summary      |
 +------------------+
 | - IndexedPages:  |
 |     double?      |
 | - IndexedTerms:  |
 |     double?      |
 +------------------+
           |
           | 1
           |
           v
 +------------------+
 |    Pagination    |
 +------------------+
 | - CurrentPage:   |
 |     int          |
 | - TotalPages:    |
 |     int          |
 | - ItemsPerPage:  |
 |     int          |
 +------------------+

EventCrawler

Resumo

A classe EventCrawler representa um modelo de dados utilizado no aplicativo BugSearch. Aqui está um resumo das propriedades da classe:

  • _id (string opcional): O identificador único do objeto EventCrawler, representado no formato de ObjectId do MongoDB.
  • Name (string opcional): O nome do evento do web crawler.
  • Url (string opcional): A URL do evento do web crawler.
  • Favicon (string opcional): O caminho do favicon relacionado ao evento do web crawler.
  • Title (string opcional): O título do evento do web crawler.
  • Description (string opcional): A descrição do evento do web crawler.
  • Type (string opcional): O tipo do evento do web crawler.
  • Image (string opcional): O caminho da imagem relacionada ao evento do web crawler.
  • Locale (string opcional): A localização do evento do web crawler.
  • Body (string opcional): O corpo do evento do web crawler.
  • Terms (array de strings): Os termos relacionados ao evento do web crawler.
  • Pts (double): A pontuação do evento do web crawler.

Essa classe implementa a interface IWebSiteInfo, embora não tenham sido fornecidas informações sobre a interface IWebSiteInfo no código fornecido.

O objetivo dessa classe é representar informações sobre eventos coletados por meio de um web crawler no contexto do aplicativo BugSearch. Cada objeto EventCrawler contém várias propriedades relevantes para descrever um evento específico, como nome, URL, favicon, título, descrição, tipo, imagem, localização, corpo, termos relacionados e pontuação.

Essas informações podem ser usadas para indexar e pesquisar eventos no aplicativo BugSearch, fornecendo aos usuários informações detalhadas sobre cada evento coletado pelo web crawler.

É importante notar que o resumo fornecido é baseado nas propriedades da classe EventCrawler apresentada. No entanto, o uso e o significado preciso dessas propriedades podem depender da implementação e do contexto específicos do aplicativo BugSearch.

    +------------------+
    |   EventCrawler   |
    +------------------+
    | - _id: string?   |
    | - Name: string?  |
    | - Url: string?   |
    | - Favicon:       |
    |     string?      |
    | - Title: string? |
    | - Description:   |
    |     string?      |
    | - Type: string?  |
    | - Image: string? |
    | - Locale:        |
    |     string?      |
    | - Body: string?  |
    | - Terms:         |
    |     string[]     |
    | - Pts: double    |
    +------------------+

Dictionary

Resumo

Classe Dictionary:

  • _id (string opcional): O identificador único do objeto Dictionary, representado no formato de ObjectId do MongoDB.
  • Term (string opcional): O termo presente no dicionário.

Essa classe implementa a interface IDictionary, embora não tenham sido fornecidas informações sobre a interface IDictionary no código fornecido.

A classe Dictionary é utilizada para representar um termo dentro de um dicionário no contexto do aplicativo BugSearch. Cada objeto Dictionary contém uma propriedade Term que armazena o termo em si.

Essa estrutura de dados pode ser usada para criar e gerenciar um dicionário de termos específicos relacionados ao aplicativo BugSearch. Os termos presentes no dicionário podem ser utilizados em diferentes funcionalidades, como pesquisa, indexação ou categorização.

É importante ressaltar que o resumo fornecido é baseado nas propriedades da classe Dictionary apresentada. No entanto, o uso e o significado preciso dessas propriedades podem depender da implementação e do contexto específicos do aplicativo BugSearch.

    +----------------+
    |   Dictionary   |
    +----------------+
    | - _id: string? |
    | - Term: string?|
    +----------------+

BugSearch drawio

BugSearch V2

Repo UI

Interface gráfica feita em flutter https://github.com/1mrschneider/bug_search_ui

Repo V1

Projeto depreciado desenvolvido com typescript https://github.com/andrrff/ifma-webcrawler

Clone this wiki locally