public function testGetIdNoSource() { // Creates a new index 'xodoa' and a type 'user' inside this index $indexName = 'xodoa'; $typeName = 'user'; $client = new Elastica_Client(); $index = $client->getIndex($indexName); $index->create(array(), true); $type = $index->getType($typeName); $mapping = new Elastica_Type_Mapping($type); $mapping->disableSource(); $mapping->send(); // Adds 1 document to the index $docId = 3; $doc1 = new Elastica_Document($docId, array('username' => 'hans')); $type->addDocument($doc1); // Refreshes index $index->refresh(); sleep(2); $resultSet = $type->search('hans'); $this->assertEquals(1, $resultSet->count()); $result = $resultSet->current(); $this->assertEquals(array(), $result->getSource()); $this->assertInstanceOf('Elastica_Result', $result); $this->assertEquals($indexName, $result->getIndex()); $this->assertEquals($typeName, $result->getType()); $this->assertEquals($docId, $result->getId()); $this->assertGreaterThan(0, $result->getScore()); $this->assertInternalType('array', $result->getData()); }
public function testMappingStoreFields() { $client = new Elastica_Client(); $index = $client->getIndex('test'); $index->create(array(), true); $type = $index->getType('test'); $mapping = new Elastica_Type_Mapping($type, array('firstname' => array('type' => 'string', 'store' => 'yes'), 'lastname' => array('type' => 'string'))); $mapping->disableSource(); $type->setMapping($mapping); $firstname = 'Nicolas'; $doc = new Elastica_Document(1, array('firstname' => $firstname, 'lastname' => 'Ruflin')); $type->addDocument($doc); $index->refresh(); $queryString = new Elastica_Query_QueryString('ruflin'); $query = Elastica_Query::create($queryString); $query->setFields(array('*')); $resultSet = $type->search($query); $result = $resultSet->current(); $fields = $result->getFields(); $this->assertEquals($firstname, $fields['firstname']); $this->assertArrayNotHasKey('lastname', $fields); $this->assertEquals(1, count($fields)); $index->flush(); $document = $type->getDocument(1); $this->assertEmpty($document->getData()); }