IndexTank 的設計

IndexTank 是在 xdite 的個人板上看到的網站,號稱真正 Scalable 的 Search Engine,看了他的架構設計後看起來應該是真的 Scalable。

由於是屬於 SaaS 服務,對於 startup 不想自己做 search engine 的可以直接套上去。而對於技術人員真正有價值的是他的 API 設計文件中的 function definition syntax:「function definition syntax」,雖然故意寫個 coming soon,但實際上可以在 client library 裡看到範例:「Python client」。

先內建一些基本的數學函數,像是四則運算、power、log,並且內建一些很常用到的變數。接下來定義出來的函數可以再重複使用,不斷累積上去,最後在 query 的時候就可以 ORDER BY 某個 score...

IndexTank 告訴你「利用 API 讓前端程式設定 function 以降低 denormalization 的複雜度」時要怎麼設計 API,當你自己建立 search engine 時,新增的 function 還可以在後端用 MapReduce 把資料補上去...。

另外可以再參考「How Hacker News ranking algorithm works」這篇文章。(這篇文章的 comment 裡面有其他的 ranking code 可以看)

Leave a Reply

Your email address will not be published. Required fields are marked *