Esempio n. 1
0
	public function testMatchDoc() {

		$client = new Elastica_Client(array('persistent' => false));
		$index = $client->getIndex('elastica_test');
		$index->create(array('index' => array('number_of_shards' => 1, 'number_of_replicas' => 0)), true);

		$percolator = new Elastica_Percolator($index);
		
		$percolatorName = 'percotest';
		
		$query = new Elastica_Query_Term(array('name' => 'ruflin'));
		$response = $percolator->registerQuery($percolatorName, $query);

		$this->assertTrue($response->isOk());
		$this->assertFalse($response->hasError());

		$doc1 = new Elastica_Document();
		$doc1->add('name', 'ruflin');

		$doc2 = new Elastica_Document();
		$doc2->add('name', 'nicolas');

		$index = new Elastica_Index($index->getClient(), '_percolator');
		$index->refresh();
		
		$matches1 = $percolator->matchDoc($doc1);
		
		$this->assertTrue(in_array($percolatorName, $matches1));
		$this->assertEquals(1, count($matches1));
		
		$matches2 = $percolator->matchDoc($doc2);
		$this->assertEmpty($matches2);
	}
Esempio n. 2
0
	public function testAdd() {
		$doc = new Elastica_Document();
		$returnValue = $doc->add('key', 'value');
		$data = $doc->getData();
		$this->assertArrayHasKey('key', $data);
		$this->assertEquals('value', $data['key']);
		$this->assertInstanceOf('Elastica_Document', $returnValue);
	}
Esempio n. 3
0
 public function testMatchDoc()
 {
     $index = $this->_createIndex();
     $percolator = new Elastica_Percolator($index);
     $percolatorName = 'percotest';
     $query = new Elastica_Query_Term(array('name' => 'ruflin'));
     $response = $percolator->registerQuery($percolatorName, $query);
     $this->assertTrue($response->isOk());
     $this->assertFalse($response->hasError());
     $doc1 = new Elastica_Document();
     $doc1->add('name', 'ruflin');
     $doc2 = new Elastica_Document();
     $doc2->add('name', 'nicolas');
     $index = new Elastica_Index($index->getClient(), '_percolator');
     $index->refresh();
     $matches1 = $percolator->matchDoc($doc1);
     $this->assertTrue(in_array($percolatorName, $matches1));
     $this->assertEquals(1, count($matches1));
     $matches2 = $percolator->matchDoc($doc2);
     $this->assertEmpty($matches2);
 }
Esempio n. 4
0
	public function testAddDocumentVersion() {
		$client = new Elastica_Client();
		$index = $client->getIndex('test');
		$index->create(array(), true);
		$type = new Elastica_Type($index, 'test');

		$doc1 = new Elastica_Document(1);
		$doc1->add('title', 'Hello world');

		$return = $type->addDocument($doc1);
		$data = $return->getData();
		$this->assertEquals(1, $data['_version']);

		$return = $type->addDocument($doc1);
		$data = $return->getData();
		$this->assertEquals(2, $data['_version']);
	}
Esempio n. 5
0
 public function testAddWordxFile()
 {
     $indexMapping = array('file' => array('type' => 'attachment'), 'text' => array('type' => 'string', 'store' => 'no'));
     $indexParams = array('index' => array('number_of_shards' => 1, 'number_of_replicas' => 0));
     $client = new Elastica_Client();
     $index = new Elastica_Index($client, 'content');
     $type = new Elastica_Type($index, 'content');
     $index->create($indexParams, true);
     $type->setMapping($indexMapping);
     $doc1 = new Elastica_Document(1);
     $doc1->addFile('file', BASE_PATH . '/data/test.docx');
     $doc1->add('text', 'basel world');
     $type->addDocument($doc1);
     $doc2 = new Elastica_Document(2);
     $doc2->add('text', 'running in basel');
     $type->addDocument($doc2);
     $index->optimize();
     $resultSet = $type->search('xodoa');
     $this->assertEquals(1, $resultSet->count());
     $resultSet = $type->search('basel');
     $this->assertEquals(2, $resultSet->count());
     $resultSet = $type->search('ruflin');
     $this->assertEquals(0, $resultSet->count());
 }