2012-04-08 55 views
1

我對Java完全陌生,我正在使用Solr搜索服務器。碰巧,爲了能夠爲我的應用程序定製Solr,我必須學習java。 有沒有人有一個好的建議,最好的地方開始是?用於學習Java和Solr的良好Java資源

在此先感謝!

回答

3

它可能並不需要知道Java來獲得與Solr的工作,並使用它,除非你想檢查實際的代碼庫和更多想修改它或添加擴展名。
在安裝程序運行後,Ruby,PHP中還有很多客戶端可以使用Solr。
除了@peter_budo的書籍,對於Solr及其配置,您還可以通過Lucid Imagination的Solr Guide開始。這會讓你開始。

+0

我打算設計過濾器,以便我需要學習java我認爲,您的建議是什麼? – Mersad 2012-04-08 08:27:31

+0

是的,如果您需要修改或添加擴展名,您需要了解Java。 Solr的濾波器種類繁多,您可以在開始設計自己的濾波器之前進行選擇。 – Jayendra 2012-04-08 08:32:25

+0

@Mersad,我想Solr很可能會有過濾器來滿足你的_initial_需求。希望你不急於:-) – aitchnyu 2012-04-08 15:33:53

2

的問題是非常通用的,這真的取決於你的背景,你的願望,也是你的組織:)

如果你是一個開發人員,希望修改Solr的代碼,然後它會更好(雖然不是強制)如果您對信息檢索有所瞭解,那麼作爲第一步,您應該瞭解倒排索引是什麼,用於倒排索引的數據結構是什麼,如何評估布爾查詢,查詢形成樹如何看起來像這樣。只會讓你對Solr有所瞭解,但明天說你在市場上有另一個搜索引擎XYZ,你很快就能夠適應這一點。

如果您想在Solr Administration中製作一本書,而不是Solr 3.1 Cookbook & Apache Solr 3企業級搜索服務器(請注意,無論您是用戶,開發人員還是管理員,這些書籍都可應用於各種場景)加上實踐經驗將最重要的地方,你會處理內存錯誤,堆問題,嘗試mergefactors,autocmmits等各種組合

再次根據你的關於Java的其他問題,它再次取決於你的編程背景,即你是來自C++還是說Python等等。如果你已經是一個C++/C#程序員,那麼Java對你來說就是一個Cakewalk。在這種情況下,只需理解Solr並開始編寫代碼,而不是在Java書上浪費時間(如果您在Java書上浪費時間,先學習Java並按順序向Solr移動,那麼這會很好,這取決於時間你有)如果你是一個Python或Haskell程序員,你將不得不學習Java。在這種特殊情況下,Head First Java將是他最好的書籍,可以在一週或兩週內儘快趕上Java,然後您可以從Solr開始。

爲學習Solr而添加的另外一件事情就是它不僅僅是Java,你還必須學習一些關於你正在使用的servlet容器的知識。

我最後的建議(恕我直言),不要去學習工具和API,研究落後於工具的科學與工程(正如我提到的關於信息檢索)&語言(學習一門語言的更根本性的算法&數據結構獨立的),然後自動判斷它是Solr還是Sphinx,C++或Java,它們都將成爲你的奴隸。