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