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); }
/** * @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); }
/** * {@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); }