コード例 #1
0
}
$engine->open();
$t->isa_ok($engine->getIndex(), 'Zend_Search_Lucene', '->open() can reopen the index');
$t->diag('->getAnalyzer(), ->setAnalyzer()');
$t->isa_ok($engine->getAnalyzer(), 'Zend_Search_Lucene_Analysis_Analyzer_Common_Utf8Num_CaseInsensitive', '->getAnalyzer() is UTF8, number, and case insensitive by default');
$engine->setAnalyzer(new Zend_Search_Lucene_Analysis_Analyzer_Common_Text());
$t->isa_ok($engine->getAnalyzer(), 'Zend_Search_Lucene_Analysis_Analyzer_Common_Text', '->setAnalyzer() can change the analyzer');
$engine->setAnalyzer(new Zend_Search_Lucene_Analysis_Analyzer_Common_Text());
$t->isa_ok($engine->getAnalyzer(), 'Zend_Search_Lucene_Analysis_Analyzer_Common_Text', '->configure() does not change analyzer is no analyzer flag is present');
$t->diag('->enableBatchMode(), ->enableInteractiveMode()');
$engine->enableBatchMode();
$index = $engine->getIndex();
$t->is($index->getMaxBufferedDocs(), 500, '->enableBatchMode() changes max buffered docs');
$t->is($index->getMaxMergeDocs(), PHP_INT_MAX, '->enableBatchMode() changes max merge docs');
$t->is($index->getMergeFactor(), 100, '->enableBatchMode() changes merge factor');
$engine->enableInteractiveMode();
$t->is($index->getMaxBufferedDocs(), 10, '->enableInteractiveMode() changes max buffered docs');
$t->is($index->getMaxMergeDocs(), PHP_INT_MAX, '->enableInteractiveMode() changes max merge docs');
$t->is($index->getMergeFactor(), 10, '->enableInteractiveMode() changes merge factor');
$t->diag('->rewriteDocument()');
$doc = new xfDocument('guid');
$response = $engine->rewriteDocument($doc);
$t->isa_ok($response, 'Zend_Search_Lucene_Document', '->rewriteDocument() creates a Zend_Search_Lucene_Document');
$t->is($response->getFieldValue('__guid'), 'guid', '->rewriteDocument() writes the GUID correctly');
$fields = array(xfField::STORED => 'isStored', xfField::INDEXED => 'isIndexed', xfField::TOKENIZED => 'isTokenized', xfField::BINARY => 'isBinary');
foreach ($fields as $type => $property) {
    $name = 'type' . $type;
    $doc->addField(new xfFieldValue(new xfField($name, $type), 'bar'));
    $response = $engine->rewriteDocument($doc)->getField($name);
    $t->ok($response->{$property}, '->rewriteDocument() can handle "' . $property . '"');
    $others = $fields;