public function testGetQuery_SearchInAllFields()
 {
     $document = new Document();
     $document->setKey('id', 'validtestentity_1');
     $expectedQuery = 'id:validtestentity_1';
     $query = new FindByIdentifierQuery();
     $query->setDocumentKey('validtestentity_1');
     $query->setDocument($document);
     $queryString = $query->getQuery();
     $this->assertEquals($expectedQuery, $queryString);
 }
Exemple #2
0
 /**
  * @param DocumentInterface $document
  * @param string            $index
  */
 public function delete(DocumentInterface $document, $index)
 {
     $documentFields = $document->getFields();
     $documentKey = $documentFields[MetaInformationInterface::DOCUMENT_KEY_FIELD_NAME];
     $deleteQuery = new FindByIdentifierQuery();
     $deleteQuery->setDocument($document);
     $deleteQuery->setDocumentKey($documentKey);
     $delete = $this->solariumClient->createUpdate();
     $delete->addDeleteQuery($deleteQuery->getQuery());
     $delete->addCommit();
     $this->applyQuery($delete, $index);
 }
Exemple #3
0
 /**
  * {@inheritdoc}
  */
 public function find($id)
 {
     $mapper = $this->solr->getMapper();
     $mapper->setMappingCommand($this->solr->getCommandFactory()->get('all'));
     $metaInformation = $this->solr->getMetaFactory()->loadInformation($this->entity);
     $metaInformation->setEntityId($id);
     $document = $mapper->toDocument($metaInformation);
     $query = new FindByIdentifierQuery();
     $query->setIndex($metaInformation->getIndex());
     $query->setDocumentKey($metaInformation->getDocumentKey());
     $query->setDocument($document);
     $query->setEntity($this->entity);
     $query->setSolr($this->solr);
     $query->setHydrationMode($this->hydrationMode);
     $found = $this->solr->query($query);
     if (count($found) == 0) {
         return null;
     }
     return array_pop($found);
 }