客户端 API

Solr 是一款网络应用程序,但由于它建立在开放协议之上,因此任何类型的客户端应用程序都可以使用 Solr。

Solr 提供有关以下客户端集成的文档

SolrJ:SolrJ,用于处理 Java 应用程序的 API。

JavaScript:JavaScript 客户端。

Python:Python 和 JSON 响应。

Ruby:Solr 与 Ruby 应用程序。

Solr Wiki 在 https://cwiki.apache.org/confluence/display/solr/IntegratingSolr 上包含客户端 API 列表。

客户端 API 简介

HTTP 是客户端应用程序和 Solr 之间使用的基本协议。客户端发出请求,Solr 执行一些工作并提供响应。客户端使用请求让 Solr 执行诸如执行查询或索引文档等操作。

客户端应用程序可以通过创建 HTTP 请求并解析 HTTP 响应来访问 Solr。客户端 API 封装了发送请求和解析响应的大部分工作,这使得编写客户端应用程序变得更加容易。

客户端使用 Solr 的五个基本操作来处理 Solr。这些操作是查询、索引、删除、提交和优化。

通过创建一个包含所有查询参数的 URL 来执行查询。Solr 检查请求 URL,执行查询并返回结果。其他操作类似,尽管在某些情况下,HTTP 请求是 POST 操作,并且包含请求 URL 中包含的任何信息之外的信息。例如,索引操作可能包含请求正文中的文档。

Solr 还具有 EmbeddedSolrServer,它提供 Java API,而无需 HTTP 连接。有关详细信息,请参见 SolrJ

选择输出格式

许多编程环境能够发送 HTTP 请求并检索响应。解析响应是一个稍微棘手的问题。幸运的是,Solr 使得选择一种在客户端轻松处理的输出格式变得很容易。

在查询中使用 wt 参数指定响应格式。可用的响应格式在 xref:query-guide:response-writers.adoc 中进行了说明。

大多数客户端 API 会为您隐藏此详细信息,因此对于许多类型的客户端应用程序,您无需指定 wt 参数。然而,在 JavaScript 中,Solr 的界面与底层代码更接近,因此您需要自己添加此参数。