# La classe SolrClient

(PECL solr >= 0.9.2)

## Introduction

Utilisée pour envoyer des requêtes au serveur Solr. Actuellement, le clonage et la sérialisation des instances SolrClient ne sont pas supportés.

## Synopsis de la classe

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éthodes */
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 pré-définies

`SolrClient::SEARCH_SERVLET_TYPE`

  Utilisé lors de la mise à jour du servlet de recherche.

`SolrClient::UPDATE_SERVLET_TYPE`

  Utilisé lors de la mise à jour du servlet de mise à jour.

`SolrClient::THREADS_SERVLET_TYPE`

  Utilisé lors de la mise à jour du servlet de threads.

`SolrClient::PING_SERVLET_TYPE`

  Utilisé lors de la mise à jour du servlet de ping.

`SolrClient::TERMS_SERVLET_TYPE`

  Utilisé lors de la mise à jour du servlet de termes.

`SolrClient::SYSTEM_SERVLET_TYPE`

  Utilisé lors de la récupération des informations systèmes depuis le servlet système.

`SolrClient::DEFAULT_SEARCH_SERVLET`

  Ceci est la valeur initiale pour le servlet de recherche.

`SolrClient::DEFAULT_UPDATE_SERVLET`

  Ceci est la valeur initiale pour le servlet de mise à jour.

`SolrClient::DEFAULT_THREADS_SERVLET`

  Ceci est la valeur initiale pour le servlet de threads.

`SolrClient::DEFAULT_PING_SERVLET`

  Ceci est la valeur initiale pour le servlet de ping.

`SolrClient::DEFAULT_TERMS_SERVLET`

  Ceci est la valeur initiale pour le servlet de termes utilisé pour le TermsComponent.

`SolrClient::DEFAULT_SYSTEM_SERVLET`

  Ceci est la valeur initiale pour le servlet système utilisé pour obtenir les informations du serveur Solr.

## Sommaire

- SolrClient::addDocument — Ajoute un document à l'index
- SolrClient::addDocuments — Ajoute une collection d'instances SolrInputDocument à l'index
- SolrClient::commit — Commit tous les ajouts/modifications effectués sur l'index
- SolrClient::__construct — Constructeur de l'objet SolrClient
- SolrClient::deleteById — Effacement par Id
- SolrClient::deleteByIds — Effacement par Ids
- SolrClient::deleteByQueries — Efface tous les documents correspondant à des requêtes
- SolrClient::deleteByQuery — Efface tous les documents correspondant à une requête
- SolrClient::__destruct — Destructeur pour SolrClient
- SolrClient::getById — Renvoie un document par son identifiant. Utilise la fonctionnalité de recherche en temps réel de Solr (Solr Realtime Get - RTG)
- SolrClient::getByIds — Renvoie des documents par leurs identifiants. Utilise la fonctionnalité de recherche en temps réel de Solr (Solr Realtime Get - RTG)
- SolrClient::getDebug — Récupère les données de débogage de la dernière tentative de connexion
- SolrClient::getOptions — Récupère les options clientes définies en interne
- SolrClient::optimize — Défragmente l'index
- SolrClient::ping — Vérifie si le serveur Solr est disponible
- SolrClient::query — Envoi une requête au serveur
- SolrClient::request — Envoi une requête brute de mise à jour
- SolrClient::rollback — Annule les ajouts/effacements effectués sur l'index depuis le dernier commit
- SolrClient::setResponseWriter — Définit le gestionnaire à utiliser pour préparer la réponse depuis Solr
- SolrClient::setServlet — Modifie le type d'un servlet en une nouvelle valeur
- SolrClient::system — Récupère les informations du serveur Solr
- SolrClient::threads — Vérifie le statut des threads