SolrClient::addDocuments
(PECL solr >= 0.9.2)
SolrClient::addDocuments — Adiciona uma coleção de instâncias SolrInputDocument ao índice
Descrição
Adiciona uma coleção de documentos ao índice.
Parâmetros
docs
-
Um array que contém a coleção de instâncias SolrInputDocument. Este array deve ser uma variável real.
overwrite
-
Informa se os documentos existentes devem ou não ser substituídos. Se
false
, haverá duplicatas (vários documentos com o mesmo ID).WarningPECL Solr < 2.0 $allowDups foi usado em vez de $overwrite, que faz a mesma funcionalidade com a opção booleana exatamente oposta.
$allowDups = false é o mesmo que $overwrite = true
commitWithin
-
Número de milissegundos para confirmar automaticamente este documento. Disponível desde Solr 1.4. Padrão (0) significa desabilitado.
Quando este valor é especificado, ele deixa o controle de quando fazer a confirmação para o próprio Solr, otimizando o número de confirmações ao mínimo enquanto ainda atende aos requisitos de latência de atualização, e o Solr fará uma confirmação automaticamente quando a adição mais antiga no buffer estiver pendente.
Valor Retornado
Retorna um objeto SolrUpdateResponse ou lança uma exceção em caso de falha.
Erros/Exceções
Lança SolrClientException se o cliente falhar ou houver problema de conexão.
Lança SolrServerException se o servidor Solr falhar ao processar a solicitação.
Exemplos
Example #1 Exemplo de SolrClient::addDocuments()
<?php
$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);
$client = new SolrClient($options);
$doc = new SolrInputDocument();
$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');
$doc2 = clone $doc;
$doc2->deleteField('id');
$doc2->addField('id', 334456);
$docs = array($doc, $doc2);
$updateResponse = $client->addDocuments($docs);
// nenhuma alteração será gravada no disco, a menos que $commitWithin seja passado ou SolrClient::commit seja chamado
print_r($updateResponse->getResponse());
?>
O exemplo acima produzirá algo semelhante a:
SolrObject Object ( [responseHeader] => SolrObject Object ( [status] => 0 [QTime] => 2 ) )
Veja Também
- SolrClient::addDocument() - Adiciona um documento ao índice
- SolrClient::commit() - Finaliza todas as adições/exclusões feitas no índice