客户端 API

从本质上讲,Solr 是一个 Web 应用程序,但由于它建立在开放协议之上,任何类型的客户端应用程序都可以使用 Solr。

Solr 提供了以下客户端集成文档

SolrJ: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 的五个基本操作来使用 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 的接口更接近底层,因此您需要自己添加此参数。