Solr


Figure 1. Aapche Solr

Solr是一個企業級搜尋引擎,底層使用Apache Luence開發。Solr是一個NoSQL的技術,在資料儲存的時候,不需要馬上就設計出符合所有情形的框架。Solr有彈性的綱目設計(Flexible schema),因此每一筆資料不一定有相同的屬性,有需要的時候再添加欄位就可以了。

Solr有全文檢索功能,設定好資料欄位的型態(Field-Type)之後,Solr會自動建立索引,以後就可以下查詢語法快速取得必要的資料。Solr是一個NoSQL資料庫,用文件式的儲存方式,可以快速地找到每一筆資料。下圖是 Solr 的搜尋主要架構圖,一整個會由一個 Search Handler 來控制,Search Handler 當中的所有元素都可以覆寫,也可以直接覆寫一個 Search Handler 做自己想要的搜尋邏輯。其中最常被覆寫的是 last-components。last-components 是當所有的搜尋結束並得到結果之後,再對結果做其他處理,並且輸出會接續在查詢結果的後面。


Figure 2. 覆寫 search component 結果

實作方面,學習到使用Java控制Solr進行CRUD和覆寫 Search Handler 與 Search Component。

Tomcat


Figure 3. Tomca

Tomcat是一個Servlet容器,可以把HTML的東西轉換成Java物件,傳送請求到後端,再傳送回應給前端使用者。

Intellij


Figure 4. intellij

工作中使用到Java語言,因此選擇評價很好的Java整合式開發環境Intellij。Intellij的優點在於整合了Java開發會用到的工具,運行的速度快。也有許多貼心的提示和修正建議,很容易就上手。

XAMPP


Figure 5. XAMPP

工作中使用到Apache XAMPP,可以整合各項網頁伺服器會用到的模組,並且用單一介面控制。對於會使用到不同服務的網站架構提供很簡潔的操作介面。就不會每一次開機都要到不同目錄下開每個程式。

參考資料

  1. https://zh.wikipedia.org/wiki/Solr
  2. Grainger, T. and T. Potter (2014). Solr in Action Manning Publications.
  3. https://www.slideshare.net/JustinSDK/web-tomcat
  4. https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/91714/