私はJavaがまったく初めてで、Solr検索サーバーを使用しています。自分のアプリケーション用に Solr をカスタマイズできるようにするために、Java を学ばなければならないことがあります。始めるのに最適な場所はどこですか?
前もって感謝します!
質問は非常に一般的であり、あなたの背景と願望、そしてあなたの組織に大きく依存します:)
あなたが開発者で、Solr コードを変更したい場合は、(必須ではありませんが) 情報検索について少し知っている方が良いでしょう。したがって、最初のステップとして、転置インデックスとは何か、データ構造は何に使用されるかを理解する必要があります。転置インデックス、ブールクエリがどのように評価されるか、クエリ形成ツリーがどのように見えるかなど。これにより、Solr の理解が深まるだけでなく、明日、別の検索エンジン XYZ が市場に出回っていても、すぐにそれに適応できるようになります。
Solr 3.1 Cookbook や Apache Solr 3 Enterprise Search Server などの本よりも Solr 管理のキャリアを作りたい場合 (これらの本は、ユーザー、開発者、管理者のいずれであっても、あらゆるシナリオに適用できることに注意してください) 実用的な本と組み合わせてください。メモリエラー、ヒープの問題、マージファクターのさまざまな組み合わせ、autocmmit などを扱う場合、経験が最も重要になります。
繰り返しになりますが、Java に関する他の質問にあるように、プログラミングのバックグラウンド、つまり C++ から来たのか、Python などと言うのかによって異なります。すでに C++/C# プログラマーである場合、Java は簡単な方法です。その場合は、Java の本で時間を無駄にするのではなく、Solr を少し理解してからコーディングを開始してください (繰り返しになりますが、Java の本で時間を無駄にし、最初に Java を学び、順次 Solr に移行するとよいでしょう。それは時間によって異なります)。 Python または Haskell プログラマーの場合は、Java を学ぶ必要があります。この特定のケースでは、Head First Java は、最大で 1 週間または 2 週間で Java をすばやく習得し、Solr を開始できるようにするための最良の本です。
JavaだけでなくSolrを学習するために追加するもう1つのことは、使用しているサーブレットコンテナについても少し学ぶ必要があることです。
私の最後の提案 (IMHO) は、ツールや API を学習するのではなく、それらのツールの背後にある科学と工学 (情報検索について述べたように) と言語 (言語に依存しない基本的なアルゴリズムとデータ構造について詳しく学ぶ) を研究し、その後自動的にそれが Solr であろうと Sphinx であろうと、C++ であろうと Java であろうと、それらはすべてあなたの奴隷になります。
Solrwikiリソースページhttp://wiki.apache.org/solr/SolrResourcesは開始するのに最適な場所です。さらに質問がある場合は、lucene/solrメーリングリストも使用してください。