2013-05-10

Apache Solr - 企業級的免費搜尋伺服器

阿舍是在大約一年前,看到 Drupal.org 網站捨棄 Drupal 內建的搜尋功能改由 Apache Solr 來提供全文檢索和搜尋功能的時候,才有注意到這個 Apache Solr 的,從那個時候起,阿舍就想要找個時間來好好認識一下 Apache Solr,不過,後來,發現 Apache Solr 是用 Java 寫的,就以為要用 Java 才能用,所以,就沒有想要去理它了哩 ! 直到最近,阿舍似乎是有可能會需要用到,因此,阿舍就花了點時間來瞭解一下囉 ! ...



阿舍一開始接觸 Apache Solr 的時候,以為要用 Apache Solr 的話,就要用 Java 來寫程式才能使用,結果,後來在瞭解後才明白,原來,這個 Apache Solr 有提供 REST-Like 的 HTML/ XML 及 JSON 的 API,所以,不管前端或網站是用那一種語言開發的,就都可以透過 Apache Solr 提供的 API 來把要檢索的資料丟給 Apache Solr 處理,同時,也能夠過 API 來對 Apache Solr 送出查詢要求哩 !

還有,阿舍早先也以為這個 Apache Solr 伺服器是一定要安裝在 Apache Tomcat 上的,但是,實際上並不是這樣的,Apache Solr 需要的是一個 Java Servlet Container,所以,除了 Apache Tomcat 之外,只要是 Java Servlet Container 就可以用來運行 Apache Solr 的,因此,像是 Glassfish、JBoss、Jetty、Resin、Weblogic 和 WebSphere 等,都是可以用來跑 Apache Solr 的哩 !

不過,Apache Solr 預設是就有內建 Jetty 這個 Servlet Container 的,所以,就算不安裝上面提到的這些 Servlet Container ,也是可以直接使用內建的 Jetty 以內嵌的方式來運行 Apache Solr 的,但是,這種方式並不適合用在正式環境上的,Apache Solr 內建 Jetty 的目的,是提供一組簡單配置的範例來給管理人員參考的,而不是用來提供給上正式環境使用的哩 ! 因此,還是建議要自己另外新裝一個 Jetty 來安裝和設定 Apache Solr 會比較好哩 !

以上是大概的描述 Apache Solr 的使用方式和運行環境,接下來,就要來介紹一下 Apache Solr 的功能和特性,不過,因為 Apache Solr 的功能和特性繁多,而且,會提到不少阿舍不太瞭的名詞哩 ! 要真的都介紹出來的話,這篇文大概就還要一年半載才能貼出吧 ! 因此,阿舍並不打算逐一的來說明 Apache Solr 的功能和特性,就只概念性的提一下來讓各位瞭解一下,為什麼 Apache Solr 會是企業級的搜尋伺服器哩 !

這個 Apache Solr 除了接近即時檢索能力的全文檢索功能和支援複雜條件的搜尋之外,還能檢索多種檔案格式和支援多種類型的搜尋方法,並且,能夠與資料庫整合,同時,在管理上,除提供容易使用的 Web 管理介面外,Apache Solr 還具有分散式檢索、索引抄寫、自動負載平衡,容錯及故障移轉等機制,可確保 Apache Solr 的高可用性和穩定性,所以,十分適合有大量搜尋需求或提供重要搜尋服務的企業使用哩 !

最後,要來簡單說明一下 Apache Apache Lucene 專案,這個  Apache Lucene 專案是一套提供強力搜尋功能的程式庫,主要是用來提供一套簡單易用的程式庫給開發人員能夠容易的建立出具有強大搜尋的搜尋伺服器的,而阿舍這篇文介紹的 Apache Solr 就是用  Apache Lucene 專案的 Apache Lucene Core 程式庫所開發出來的產品哩 !

參考資料


[+] Ubuntu 指令新手會用到的35個技法 - 這是以阿舍的使用經驗編寫出來的電子書,三天內應該就看的完,學的起來哩 ! 有空就參考一下囉 ! ... ^^=

關於阿舍

好文不藏私,請多分享囉!! ^^=



沒有留言 :

張貼留言

如果留言後,發現留言不見了,這通常是因為 Goolge 把它認為是垃圾留言了,請用信件通知阿舍調整 ( ayubiz@gmail.com )。謝謝 !