Ptt_Service_Overivew

standard-readme compliant

介紹PTT搜尋引擎的結構

結構圖

PTT-dia2 drawio

1. 前端+後端(Server)

  • Vue.js
    • 漸進式 JavaScript 框架
    • 前端,網頁畫面,跟使用者互動
    • 在專案中負責
      • 開發單頁應用程式
  • Flask
    • 是一個使用 Python 撰寫的輕量級 Web 應用程式框架
    • 後端(Server),接收前端的request
    • 在專案中負責
      • 處理Request
      • 對Elasticsearch下搜尋指令之API

2. 後端(Database)

  • elasticsearch
    • 是一個基於 Lucene 庫的搜尋引擎。它提供了一個分散式全文搜尋引擎,具有 HTTP Web 介面和無模式 JSON 文件,而 Elastic Cloud 是由 Elasticsearch 驅動的 SaaS 產品系列
    • 在專案中負責
      • 建置於Kubernetes上
      • 搜尋引擎
      • Database
  • Kubernetes
    • 自動部署、擴充和管理「容器化(containerized)應用程式」的開源系統
    • 在專案中負責
      • 管理Container的運作
      • Workload balance

3. 爬蟲

  • python
    • 爬取熱門看版的文章
    • 再以batch形式存於Data base

額外工具

  • PTT monitor
    • LINE bot
    • 會根據觀察的ID,回傳該ID的留言紀錄