目前為了考慮後端的負載量,將搜索引擎的後端改成了flask
但是其臨時存儲結構CubeQL用了fastapi
官網: http://115.29.198.35 作者郵箱:[email protected]


用於青荇搜索的臨時存儲結構,實現類似redis的功能,同時還能通過布隆過濾器模塊來過濾已經爬蟲過的網址,用作去重
預計使用vlang進行速度優化
對分佈式爬蟲爬取的statuscode出現404仍然收錄的問題進行優化增加了搜索結果網頁排序和權值增加(重定向)
Mozilla/5.0 (compatible;VerdantSpider/1.0)
增加一些必要的搜索引擎權值動態更新的功能(done)
實現中文->拼音的模糊搜索(需要建立新的映射表)
實現分割數據庫存儲
轉換為postgresql(done)
統計每次搜索的細節,方便總結(done)
添加cubeql實現的分佈式鎖
實現搜單詞保存在雲端,服務器不需要多次爬蟲
實現點擊音量圖標後再爬蟲音頻
實現vlang代替大部分python功能,優化性能
實現每日搜索熱點
實現各種搜索引擎的智能匯總
用容器管理環境,實現一鍵部署和一鍵運行
對搜索的每個單條索引進行壽命週期,過一段陣子就會降低權值(需要新的程序來維護)(done)
實現simhash,實現csdn等博客類網站的去重
支持多樣化搜索,更人性化的篩選器
postgresql 參考版本為11.10
python >= 3.6
flask
fastapi==0.54.1
psycopg2
starlette
requests_html
jieba
demjson
bloomfilter_live
gevent
├─.vscode
├─docs
├─resources
│ ├─config
│ ├─CubeQL
│ │ └─__pycache__
│ ├─lib
│ ├─Spider
│ │ └─__pycache __ │ ├─static
│ │ ├─css
│ │ ├─img
│ │ └─music
│ ├─templates
│ └─__pycache __
└─sql
docs : 定期存放文檔
resources :源碼存放目錄
config:配置文件json的備用存放目錄(真正調用在根目錄,目前尚未完成對目錄結構的優化
CubeQL:存放CubeQL相關源碼的目錄
Spider:存放爬蟲的目錄
lib:存放requirements
static:存放靜態文件
templates:存放模板文件
sql:存放備用的建表sql文件
backend.py - 搜素引擎後端文件
config.json - 配置文件,只有在運行代碼的根目錄的json文件才生效
可能environment裡面有一些庫沒有提到,反正有什麼裝什麼
修改config.json的數據庫賬號密碼和ip
確保postgresql是開著的
在CubeQL目錄下運行
uvicorn CubeQL:app --port 1278
在resources目錄下運行
python backend.py
在spider目錄下運行(不運行也可以打開青荇搜索)
python CDS-Distributed.py
通過訪問/trend即可,可以統計出所有關鍵詞的搜索頻率
編寫插件系統相當簡單,插件系統本質上就是有一個前端框架在搜索結果下方,可以通過根目錄的extensions.json(後面會放到config文件夾)進行對插件的註冊
然後在extensions的文件夾裡面新建一個index.html和package.json, json可參考huyaoiBlog的
package.json