# La clase SolrClient

(PECL solr >= 0.9.2)

## Introducción

Usada para enviar solicitudes al servidor Solr. Actualmente no está soportado clonar y serializar instancias de SolrClient.

## Sinopsis de la Clase

final class SolrClient {
/* Constantes */
const int SEARCH_SERVLET_TYPE = 1;
const int UPDATE_SERVLET_TYPE = 2;
const int THREADS_SERVLET_TYPE = 4;
const int PING_SERVLET_TYPE = 8;
const int TERMS_SERVLET_TYPE = 16;
const int SYSTEM_SERVLET_TYPE = 32;
const string DEFAULT_SEARCH_SERVLET = select;
const string DEFAULT_UPDATE_SERVLET = update;
const string DEFAULT_THREADS_SERVLET = admin/threads;
const string DEFAULT_PING_SERVLET = admin/ping;
const string DEFAULT_TERMS_SERVLET = terms;
const string DEFAULT_SYSTEM_SERVLET = admin/system;
/* Métodos */
public __construct(array `$clientOptions`)
public addDocument(SolrInputDocument `$doc`, bool `$overwrite` = `true`, int `$commitWithin` = 0): SolrUpdateResponse
public addDocuments(array `$docs`, bool `$overwrite` = `true`, int `$commitWithin` = 0): void
public commit(bool `$softCommit` = `false`, bool `$waitSearcher` = `true`, bool `$expungeDeletes` = `false`): SolrUpdateResponse
public deleteById(string `$id`): SolrUpdateResponse
public deleteByIds(array `$ids`): SolrUpdateResponse
public deleteByQueries(array `$queries`): SolrUpdateResponse
public deleteByQuery(string `$query`): SolrUpdateResponse
public getById(string `$id`): SolrQueryResponse
public getByIds(array `$ids`): SolrQueryResponse
public getDebug(): string
public getOptions(): array
public optimize(int `$maxSegments` = 1, bool `$softCommit` = `true`, bool `$waitSearcher` = `true`): SolrUpdateResponse
public ping(): SolrPingResponse
public query(SolrParams `$query`): SolrQueryResponse
public request(string `$raw_request`): SolrUpdateResponse
public rollback(): SolrUpdateResponse
public setResponseWriter(string `$responseWriter`): void
public setServlet(int `$type`, string `$value`): bool
public system(): void
public threads(): void
public __destruct()
}

## Constantes predefinidas

`SolrClient::SEARCH_SERVLET_TYPE`

  Usado cuando se actualiza servlet de búsqueda.

`SolrClient::UPDATE_SERVLET_TYPE`

  Usado cuando se actualiza el servlet de actualización.

`SolrClient::THREADS_SERVLET_TYPE`

  Usado cuando se actualiza el servlet de hilos.

`SolrClient::PING_SERVLET_TYPE`

  Usado cuando se actualiza el servlet de ping.

`SolrClient::TERMS_SERVLET_TYPE`

  Usado cuando se actualiza el servlet de términos.

`SolrClient::SYSTEM_SERVLET_TYPE`

  Usado cuando se obtiene información del sistema desde el servlet de sistema.

`SolrClient::DEFAULT_SEARCH_SERVLET`

  Este es el valor inicial del servlet de búsqueda.

`SolrClient::DEFAULT_UPDATE_SERVLET`

  Este es el valor inicial del servlet de actualizacion.

`SolrClient::DEFAULT_THREADS_SERVLET`

  Este es el valor inicial del servlet de hilos.

`SolrClient::DEFAULT_PING_SERVLET`

  Este es el valor inicial del servlet de ping.

`SolrClient::DEFAULT_TERMS_SERVLET`

  Este es el valor inicial del servlet de términos usados por TermsComponent

`SolrClient::DEFAULT_SYSTEM_SERVLET`

  Este es el valor inicial del servlet del sistema usado para obtener información de Solr Server

## Tabla de contenidos

- SolrClient::addDocument — Añade un documento al índice
- SolrClient::addDocuments — Añade una colección de instancias de SolrInputDocument al índice
- SolrClient::commit — Finaliza todas las añadiduras/eliminaciones hechas al índice
- SolrClient::__construct — Constructor para el objeto SolrClient
- SolrClient::deleteById — Eliminar por Id
- SolrClient::deleteByIds — Elimina mediante Ids
- SolrClient::deleteByQueries — Elimina todos los documentos que coincidan con cualquiera de las consultas
- SolrClient::deleteByQuery — Elimina todos los documentos que coincidan con la consulta dada
- SolrClient::__destruct — Destructor para SolrClient
- SolrClient::getById — Get Document By Id. Utilizes Solr Realtime Get (RTG)
- SolrClient::getByIds — Get Documents by their Ids. Utilizes Solr Realtime Get (RTG)
- SolrClient::getDebug — Devuelve la información de depuración para el último intento de conexión
- SolrClient::getOptions — Devuelve las opciones de cliente establecidas internamente
- SolrClient::optimize — Defragmenta el índice
- SolrClient::ping — Comprueba si el servidor Solr está todavía activo
- SolrClient::query — Envía una consulta al servidor
- SolrClient::request — Envía una petición de actualización sin formato
- SolrClient::rollback — Revierte todos los añadidos/eliminados hechos en el índice desde el último envío
- SolrClient::setResponseWriter — Establece el autor de la respuesta usado para preparar la respuesta de Solr
- SolrClient::setServlet — Cambia el servlet especificado a un nuevo valor
- SolrClient::system — Obtener información del Servidor Solr
- SolrClient::threads — Verifica el estado de los hilos