之前有用 IndexTank 做 HKTV Guide 的搜尋功能,但最近 LinkedIn 收購了 IndexTank ,並宣佈 IndexTank API 將在六個月後關閉。所以,就要找可用的代替品了。
我的要求是:
* 可以全文索引
* 可以在 Ruby 裡使用
* 為了避免這種事情再度發生,這個系統要可以在我的機器裡執行
有幾個開源的搜尋系統能滿足我的需求,但其中 elasticsearch 的 REST 和 JSON API 很吸引我,看上去它的設定也夠簡單,所以它是我的首個測試目標。
安裝
elasticsearch 是個由 Java 編寫,基於 Lucene 的 search server。它的安裝很簡單:只要把 zip 檔下載解壓就行,要修改設定也只需要看一個設定檔。
建立索引和搜尋