このガイドについて
このガイドでは、Apache Solr の重要な機能とすべての機能について説明します。
Solr は https://solr.dokyumento.jp/ から無料でダウンロードできます。
このガイドは、高レベルのドキュメントを提供することを目的としており、百科事典のように網羅的であり、クックブックのようなものではありません。 新規開発者からアプリケーションを拡張したりトラブルシューティングを行ったりする経験豊富な開発者まで、幅広いニーズに対応できるように構成されています。Solr に関する信頼できる情報が必要なときはいつでも、アプリケーションライフサイクルのどの時点でも役立ちます。
提示されている資料は、基本的な検索概念に精通しており、XML を読めることを前提としています。Lucene を直接操作したり、Solr インストールへのカスタム拡張機能を開発したりする場合は Java の知識が役立ちますが、Java プログラマーであることは前提としていません。
ホストとポートの例
Solr の実行時のデフォルトポートは 8983 です。このガイドのサンプル、URL、スクリーンショットには、Solr が使用するポート番号は構成可能であるため、異なるポートが表示される場合があります。
Solr のインストールをカスタマイズしていない場合は、例に従う際にポート 8983 を使用するか、例に示されているポート番号を使用するように独自のインストールを構成してください。
同様に、URL の例では全体で localhost
を使用しています。Solr をホストしているサーバーから離れた場所から Solr にアクセスしている場合は、localhost
を Solr が実行されている適切なドメインまたは IP に置き換えてください。
たとえば、次のようなサンプルクエリを提供する場合があります。
https://127.0.0.1:8983/solr/gettingstarted/select?q=brown+cow
この URL には、ローカルで変更する必要がある可能性のある項目がいくつかあります。まず、サーバーが "www.example.com" で実行されている場合は、"localhost" を適切なドメインに置き換えます。ポート 8983 を使用していない場合は、それも置き換えます。最後に、"gettingstarted" (コレクションまたはコア名) を、実装で使用している適切なものに置き換える必要があります。URL は次のようになります。
http://www.example.com/solr/mycollection/select?q=brown+cow
ディレクトリパス
パス情報は、solr.home
を基準に指定されます。これは、Solr のメインインストール下にある場所であり、Solr のコレクションとその conf
および data
ディレクトリが保存されます。
多くの場合、これはインストールの server/solr
ディレクトリにあります。ただし、特にインストールがこれをカスタマイズしている場合は、例外が発生する可能性があります。
このガイドのいくつかのケースでは、例は "techproducts" の例から構築されています (つまり、コマンド bin/solr -e techproducts
で Solr を起動しました)。この場合、solr.home
は自動的に作成された example/
ディレクトリのサブディレクトリになります。
このディレクトリに含まれるものの詳細については、「Solr Home」のセクションも参照してください。
API の例
Solr には現在、共存する 2 つのスタイルの API があります。1 つ目は、Solr が時間の経過とともに開発されるにつれて、やや有機的に成長してきましたが、2 つ目の「V2 API」と呼ばれるものは、最新化され、自己文書化された API インターフェースで、元の API の多くを再設計しています。
多くの場合、すべてではありませんが、API 呼び出しのパラメータと出力は 2 つのスタイル間で同じです。すべての場合において、使用されるパスとエンドポイントは異なります。
このガイド全体を通して、「V1 API」と「V2 API」というラベルの付いたセクションで、両方のスタイルの例を追加しました。 このガイドの 7.2 バージョンでは、これらの例はまだ完了していません。ガイドの今後のバージョンがリリースされるにつれて、さらに多くの範囲が追加される予定です。
「v2 API」のセクションでは、新しい API 構造の使用方法、必要に応じて無効にする方法など、詳細について説明しています。
すべてのAPIは、リクエストのステータスと処理時間を記述したレスポンスヘッダーを返します。一部のAPIでは、リクエストに使用されたパラメータも含まれます。このガイドの多くの例では、このヘッダー情報が省略されています。これは、任意のリクエストにomitHeader=true
パラメータを追加することで、ローカルで実行できます。