本篇文章更新時間:2023/03/12
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
開源的 Typesense 其實要自己編譯也不是不行,但我覺得還是使用每一個 Build 好的版本最快。
有興趣自己編譯的人可以參考這篇:Build from source
他們的產品模式與 WordPress 很類似,也是提供一個「如果都不想自己來可以找他們」,開發團隊有一個「Typesense Cloud」,用量計價模式,算很彈性了。
然後針對 Typesense 與其他搜尋工具的比較,他們文件也滿齊全:Comparison with Alternatives
先前也筆記過一篇 [筆記] 自架搜尋引擎工具的選擇:Elasticsearch, Typesense, MeiliSearch, Sonic… 可以參考
安裝
筆記這篇文的當前,最新版 v0.24.0
。
這邊以 x64
架構舉例的話就是:
curl -O https://dl.typesense.org/releases/0.24.0/typesense-server-0.24.0-linux-amd64.tar.gz
tar -xzf typesense-server-0.24.0-linux-amd64.tar.gz
解壓縮完後把 typesense-server
執行檔案放在自訂的目錄裡,例如 /home/mxp/typesense-server/
。
再來把設定檔 typesense-server.ini
也建立好放目錄裡,內容如下:
[server]
api-key = this-is-password
data-dir = /home/mxp/typesense-server
log-dir = /home/mxp/typesense-server
api-port = 8108
這邊更多設定可以使用指令 ./typesense-server -help
查看。
啟動
其實就是把檔案架構處理好後只要指定設定檔的路徑就可以開跑了。
/home/mxp/typesense-server/typesense-server --config=/home/mxp/typesense-server/typesense-server.ini
這樣是最快的做法,其他如果要當作系統服務運作的話可以參考其他安裝方式(From DEB / RPM package)
使用
玩過 Elasticsearch 的人應該不會陌生他的架構。又或者說這類型搜尋引擎工具都是致敬 Elasticsearch!?
文件裡的架構是「安裝」然後就選擇你習慣的框架工具(CLient)
提供的框架也很多,真的超方便,很完整!
先試著建立 Collections,概念類似「資料表」,要定義好每一個欄位的名稱與型態。不建議都是讓他全自動判斷型態,除非資料實在不需要很嚴謹。然後建立的每一筆資料他都叫做「document」。
每一個方法下面都有對應 Client 的範例程式碼,很容易學。這邊就不貼程式碼範例了。
後記
整體來說用 Client 工具來存取沒問題,但要製作類 Algolia 的 Instantsearch 的搜尋介面工具時,花了點時間研究。
除了開發工具來指令介面作業外,還有網友開源一款「介面管理工具」Typesense Dashboard,使用上更直覺!