public function __construct(\Solarium\QueryType\Update\Query\Query $update, \core_kernel_classes_Resource $resource)
 {
     $this->resource = $resource;
     $this->document = $update->createDocument();
     $this->indexUri();
     $this->indexTypes();
 }
Beispiel #2
0
 /**
  * Implements SearchEngineAbstract::indexDocument().
  *
  * @param CollectionAbstract $collection
  * @param SolrIndexDocument $document
  */
 public function indexDocument(CollectionAbstract $collection, IndexDocument $document)
 {
     $solarium_document = $this->_update->createDocument();
     if (null !== ($boost = $document->getBoost())) {
         $solarium_document->setBoost($boost);
     }
     foreach ($document as $field_id => $normalized_value) {
         $field = $document->getField($field_id);
         $name = $field->getName();
         $solarium_document->{$name} = $normalized_value;
         if (null !== ($boost = $field->getBoost())) {
             $solarium_document->setFieldBoost($name, $boost);
         }
     }
     $this->_documents[] = $solarium_document;
 }
Beispiel #3
0
 /**
  * Create a document object instance and add it to the buffer.
  *
  * @param array $fields
  * @param array $boosts
  *
  * @return self Provides fluent interface
  */
 public function createDocument($fields, $boosts = array())
 {
     $doc = $this->updateQuery->createDocument($fields, $boosts);
     $this->addDocument($doc);
     return $this;
 }
Beispiel #4
0
 /**
  * Add delete command to main update query
  * 
  * @param \Solarium\QueryType\Update\Query\Query $query
  * @param array $fields
  * 
  * @return self
  */
 public function addDocument(UpdateQuery $query, array $fields)
 {
     $document = $query->createDocument($fields);
     $query->addDocument($document);
     return $this;
 }