SolrClient::addDocument
(PECL solr >= 0.9.2)
SolrClient::addDocument — Adds a document to the index
Описание
$doc
[, bool $overwrite
= true
[, int $commitWithin
= 0
]] )This method adds a document to the index.
Список параметров
-
doc
-
The SolrInputDocument instance.
-
overwrite
-
Whether to overwrite existing document or not. If
FALSE
there will be duplicates (several documents with the same ID).ВниманиеPECL Solr < 2.0 $allowDups was used instead of $overwrite, which does the same functionality with exact opposite bool flag.
$allowDups = false is the same as $overwrite = true
-
commitWithin
-
Number of milliseconds within which to auto commit this document. Available since Solr 1.4 . Default (0) means disabled.
When this value specified, it leaves the control of when to do the commit to Solr itself, optimizing number of commits to a minimum while still fulfilling the update latency requirements, and Solr will automatically do a commit when the oldest add in the buffer is due.
Возвращаемые значения
Returns a SolrUpdateResponse object or throws an Exception on failure.
Ошибки
Throws SolrClientException if the client had failed, or there was a connection issue.
Throws SolrServerException if the Solr Server had failed to process the request.
Примеры
Пример #1 SolrClient::addDocument() example
<?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');
$updateResponse = $client->addDocument($doc);
// you will have to commit changes to be written if you didn't use $commitWithin
$client->commit();
print_r($updateResponse->getResponse());
?>
Результатом выполнения данного примера будет что-то подобное:
SolrObject Object ( [responseHeader] => SolrObject Object ( [status] => 0 [QTime] => 1 ) )
Пример #2 SolrClient::addDocument() example 2
<?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');
// No need to call commit() because $commitWithin is passed, so Solr Server will auto commit within 10 seconds
$updateResponse = $client->addDocument($doc, false, 10000);
print_r($updateResponse->getResponse());
?>
Результатом выполнения данного примера будет что-то подобное:
SolrObject Object ( [responseHeader] => SolrObject Object ( [status] => 0 [QTime] => 1 ) )
Смотрите также
- SolrClient::addDocuments() - Adds a collection of SolrInputDocument instances to the index
- SolrClient::commit() - Finalizes all add/deletes made to the index
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с поисковыми системами
- Apache Solr
- Функция SolrClient::addDocument() - Adds a document to the index
- Функция SolrClient::addDocuments() - Adds a collection of SolrInputDocument instances to the index
- Функция SolrClient::commit() - Finalizes all add/deletes made to the index
- Функция SolrClient::__construct() - Constructor for the SolrClient object
- Функция SolrClient::deleteById() - Delete by Id
- Функция SolrClient::deleteByIds() - Deletes by Ids
- Функция SolrClient::deleteByQueries() - Removes all documents matching any of the queries
- Функция SolrClient::deleteByQuery() - Deletes all documents matching the given query
- Функция SolrClient::__destruct() - Destructor for SolrClient
- SolrClient::getById
- SolrClient::getByIds
- Функция SolrClient::getDebug() - Returns the debug data for the last connection attempt
- Функция SolrClient::getOptions() - Returns the client options set internally
- Функция SolrClient::optimize() - Defragments the index
- Функция SolrClient::ping() - Checks if Solr server is still up
- Функция SolrClient::query() - Sends a query to the server
- Функция SolrClient::request() - Sends a raw update request
- Функция SolrClient::rollback() - Rollbacks all add/deletes made to the index since the last commit
- Функция SolrClient::setResponseWriter() - Sets the response writer used to prepare the response from Solr
- Функция SolrClient::setServlet() - Changes the specified servlet type to a new value
- SolrClient::system
- Функция SolrClient::threads() - Checks the threads status
Коментарии
404 Not Found