クライアントAPI

Solr の本質は Web アプリケーションですが、オープンなプロトコルに基づいて構築されているため、あらゆる種類のクライアントアプリケーションで Solr を使用できます。

Solr は、次のクライアント統合に関するドキュメントを提供しています。

SolrJ:Java アプリケーションで使用する API です。

JavaScript:JavaScript クライアント。

Python:Python と JSON レスポンス。

Ruby:Ruby アプリケーションを使用した Solr。

Solr Wiki には、https://cwiki.apache.org/confluence/display/solr/IntegratingSolr にクライアント API のリストがあります。

クライアント API の概要

HTTP は、クライアントアプリケーションと Solr 間で使用される基本的なプロトコルです。クライアントはリクエストを行い、Solr は処理を行い、レスポンスを提供します。クライアントはリクエストを使用して、クエリの実行やドキュメントのインデックス作成などのタスクを Solr に要求します。

クライアントアプリケーションは、HTTP リクエストを作成し、HTTP レスポンスを解析することで Solr にアクセスできます。クライアント API は、リクエストの送信とレスポンスの解析の多くの作業をカプセル化するため、クライアントアプリケーションの記述がはるかに容易になります。

クライアントは、Solr の 5 つの基本的な操作を使用して Solr と連携します。これらの操作は、クエリ、インデックス作成、削除、コミット、最適化です。

クエリは、すべてのクエリパラメータを含む URL を作成することで実行されます。Solr はリクエスト URL を調べ、クエリを実行し、結果を返します。他の操作も同様ですが、特定のケースでは HTTP リクエストが POST 操作であり、リクエスト URL に含まれるもの以外の情報も含まれます。たとえば、インデックス作成操作には、リクエスト本文にドキュメントが含まれる場合があります。

Solr には、HTTP 接続を必要としない Java API を提供する EmbeddedSolrServer も備えています。詳細については、SolrJ を参照してください。

出力形式の選択

多くのプログラミング環境は、HTTP リクエストを送信し、レスポンスを取得できます。レスポンスの解析は、やや複雑な問題です。幸いなことに、Solr では、クライアント側で簡単に処理できる出力形式を選択することが容易です。

クエリで `wt` パラメータを使用してレスポンス形式を指定します。使用可能なレスポンス形式については、xref:query-guide:response-writers.adoc を参照してください。

ほとんどのクライアント API はこの詳細を隠蔽するため、多くの種類のクライアントアプリケーションでは、`wt` パラメータを指定する必要はありません。ただし、JavaScript では、Solr へのインターフェースは少し低レベルであるため、このパラメータを自分で追加する必要があります。