Exemple #1
0
 public function testKeyword()
 {
     $field = Document\Field::Keyword('field', 'value');
     $this->assertEquals($field->boost, 1);
     $this->assertEquals($field->encoding, 'UTF-8');
     $this->assertEquals($field->isBinary, false);
     $this->assertEquals($field->isIndexed, true);
     $this->assertEquals($field->isStored, true);
     $this->assertEquals($field->isTokenized, false);
     $this->assertEquals($field->name, 'field');
     $this->assertEquals($field->value, 'value');
 }
Exemple #2
0
 /**
  * @group ZF-9680
  */
 public function testIsDeletedWithoutExplicitCommit()
 {
     $index = Lucene\Lucene::create(__DIR__ . '/_index/_files');
     $document = new Document();
     $document->addField(Document\Field::Keyword('_id', 'myId'));
     $document->addField(Document\Field::Keyword('bla', 'blubb'));
     $index->addDocument($document);
     $this->assertFalse($index->isDeleted(0));
 }
Exemple #3
0
 public function testOptimize()
 {
     $index = Lucene\Lucene::create(dirname(__FILE__) . '/_index/_files');
     $index->setMaxBufferedDocs(2);
     $indexSourceDir = dirname(__FILE__) . '/_indexSource/_files';
     $dir = opendir($indexSourceDir);
     while (($file = readdir($dir)) !== false) {
         if (is_dir($indexSourceDir . '/' . $file)) {
             continue;
         }
         if (strcasecmp(substr($file, strlen($file) - 5), '.html') != 0) {
             continue;
         }
         // Create new Document from a file
         $doc = new Document\Document();
         $doc->addField(Document\Field::Keyword('path', 'IndexSource/' . $file));
         $doc->addField(Document\Field::Keyword('modified', filemtime($indexSourceDir . '/' . $file)));
         $f = fopen($indexSourceDir . '/' . $file, 'rb');
         $byteCount = filesize($indexSourceDir . '/' . $file);
         $data = '';
         while ($byteCount > 0 && ($nextBlock = fread($f, $byteCount)) != false) {
             $data .= $nextBlock;
             $byteCount -= strlen($nextBlock);
         }
         fclose($f);
         $doc->addField(Document\Field::Text('contents', $data, 'ISO-8859-1'));
         // Add document to the index
         $index->addDocument($doc);
     }
     closedir($dir);
     unset($index);
     $index1 = Lucene\Lucene::open(dirname(__FILE__) . '/_index/_files');
     $this->assertTrue($index1 instanceof Lucene\IndexInterface);
     $pathTerm = new Index\Term('IndexSource/contributing.html', 'path');
     $contributingDocs = $index1->termDocs($pathTerm);
     foreach ($contributingDocs as $id) {
         $index1->delete($id);
     }
     $index1->optimize();
     unset($index1);
     $index2 = Lucene\Lucene::open(dirname(__FILE__) . '/_index/_files');
     $this->assertTrue($index2 instanceof Lucene\IndexInterface);
     $hits = $index2->find('submitting');
     $this->assertEquals(count($hits), 3);
     $this->_clearDirectory(dirname(__FILE__) . '/_index/_files');
 }