Example #1
0
 function testExtracts()
 {
     parent::$logger->debug('testExtracts');
     $options = new MLPHP\Options(parent::$client);
     $extracts = new MLPHP\Extracts();
     $extracts->addConstraints('foo');
     $extracts->addQName('bar', 'http://example.com/bar', 'baz', 'http://example.com/baz');
     $options->setExtracts($extracts);
     $this->assertXmlStringEqualsXmlString('
       <options xmlns="http://marklogic.com/appservices/search">
         <extract-metadata>
           <constraint-value ref="foo"/>
           <qname elem-name="bar" elem-ns="http://example.com/bar"
             attr-name="baz" attr-ns="http://example.com/baz"/>
         </extract-metadata>
       </options>
     ', $options->getAsXML());
 }
Example #2
0
    // Range constraint on subject
    $keyword = new MLPHP\RangeConstraint('subject', 'xs:string', 'true', 'subject');
    $keyword->setFacetOptions(array('descending', 'frequency-order', 'limit=5'));
    $options->addConstraint($keyword);
    // Range constraint on title
    $title = new MLPHP\RangeConstraint('title', 'xs:string', 'false', 'title');
    $options->addConstraint($title);
    // Range constraint on link
    $title = new MLPHP\RangeConstraint('link', 'xs:string', 'false', 'link', '', 'href');
    $options->addConstraint($title);
    // Snippetting prefs
    $transform = new MLPHP\TransformResults('snippet');
    $pref1 = new MLPHP\PreferredElement('title', '');
    $pref2 = new MLPHP\PreferredElement('summary', '');
    $transform->addPreferredElements(array($pref1, $pref2));
    $options->setTransformResults($transform);
    // Metadata extracts
    $extracts = new MLPHP\Extracts();
    $extracts->addConstraints(array('title', 'status', 'subject', 'introduced', 'link', 'session', 'abbrev'));
    $options->setExtracts($extracts);
    // Term setting
    //$term = new MLPHP\Term("no-results");
    //$options->setTerm($term);
    // Write to database
    $optionsid = 'usbills';
    $response = $options->write($optionsid);
    echo '<!--' . $options->read($optionsid) . '-->' . PHP_EOL;
    $_SESSION['options_loaded_usbills'] = TRUE;
} else {
    echo '<!-- Search options already loaded -->' . PHP_EOL;
}
Example #3
0
    $client = $mlphp->newClient();
    $client->setUsername($mlphp->config['username-admin']);
    $client->setPassword($mlphp->config['password-admin']);
    // Set up options node
    $options = new MLPHP\Options($client);
    $latConstraint = new MLPHP\RangeConstraint('latitude', 'xs:float', 'false', 'latitude');
    $latConstraint->setFragmentScrope('properties');
    $options->addConstraint($latConstraint);
    $lonConstraint = new MLPHP\RangeConstraint('longitude', 'xs:float', 'false', 'longitude');
    $lonConstraint->setFragmentScrope('properties');
    $options->addConstraint($lonConstraint);
    $hConstraint = new MLPHP\RangeConstraint('height', 'xs:int', 'false', 'height');
    $hConstraint->setFragmentScrope('properties');
    $options->addConstraint($hConstraint);
    $wConstraint = new MLPHP\RangeConstraint('width', 'xs:int', 'false', 'width');
    $wConstraint->setFragmentScrope('properties');
    $options->addConstraint($wConstraint);
    $fConstraint = new MLPHP\RangeConstraint('filename', 'xs:string', 'false', 'filename');
    $fConstraint->setFragmentScrope('properties');
    $options->addConstraint($fConstraint);
    $extracts = new MLPHP\Extracts();
    $extracts->addConstraints(array('latitude', 'longitude', 'height', 'width', 'filename'));
    $options->setExtracts($extracts);
    // Write to database
    $optionsid = 'photomap';
    $response = $options->write($optionsid);
    echo '<!--' . $options->read($optionsid) . '-->' . PHP_EOL;
    $_SESSION['options_loaded_photomap'] = TRUE;
} else {
    echo '<!-- Search options already loaded -->' . PHP_EOL;
}
Example #4
0
 function testExtractQName()
 {
     // @todo not working, https://github.com/marklogic/mlphp/issues/6
     parent::$logger->debug('testExtractQName');
     $options = new MLPHP\Options(parent::$client, 'testExtractQName');
     $constraint = new MLPHP\RangeConstraint('title', 'xs:string', 'false', 'title');
     $options->addConstraint($constraint);
     $extracts = new MLPHP\Extracts();
     $extracts->addQName('status');
     $extracts->addConstraints(array('title'));
     $options->setExtracts($extracts)->write();
     $search = new MLPHP\Search(parent::$client, 1, 2);
     $results = $search->retrieve('', array('options' => 'testExtractQName', 'collection' => 'h'));
     $this->assertEquals('', $results->getResultByIndex(1)->getMetadata('status')[0]);
 }
Example #5
0
 public static function setOptionsXML($client)
 {
     parent::$logger->debug('setOptions');
     $options = new MLPHP\Options($client);
     // Range constraint on session
     $session = new MLPHP\RangeConstraint('session', 'xs:int', 'false', 'bill', '', 'session');
     $options->addConstraint($session);
     // Range constraint on type
     $type = new MLPHP\RangeConstraint('type', 'xs:string', 'false', 'bill', '', 'type');
     $options->addConstraint($type);
     // Range constraint on number
     $type = new MLPHP\RangeConstraint('number', 'xs:int', 'false', 'bill', '', 'number');
     $options->addConstraint($type);
     // Range constraint on abbrev
     $type = new MLPHP\RangeConstraint('abbrev', 'xs:string', 'false', 'bill', '', 'abbrev');
     $options->addConstraint($type);
     // Range constraint on introduced
     $type = new MLPHP\RangeConstraint('introduced', 'xs:string', 'false', 'introduced', '', 'date');
     $options->addConstraint($type);
     // Range constraint on status
     $status = new MLPHP\RangeConstraint('status', 'xs:string', 'true', 'status');
     $options->addConstraint($status);
     // Range constraint on subject
     $keyword = new MLPHP\RangeConstraint('subject', 'xs:string', 'true', 'subject');
     $keyword->setFacetOptions(array('descending', 'frequency-order', 'limit=5'));
     $options->addConstraint($keyword);
     // Range constraint on title
     // $title = new MLPHP\RangeConstraint(
     //     'title', 'xs:string', 'false', 'title'
     // );
     // $options->addConstraint($title);
     // Range constraint on link
     $title = new MLPHP\RangeConstraint('link', 'xs:string', 'false', 'link', '', 'href');
     $options->addConstraint($title);
     // Snippetting prefs
     $transform = new MLPHP\TransformResults('snippet');
     //$pref1 = new MLPHP\PreferredElement('title', '');
     $pref2 = new MLPHP\PreferredElement('summary', '');
     //$transform->addPreferredElements(array($pref1, $pref2));
     $transform->addPreferredElements(array($pref2));
     $options->setTransformResults($transform);
     // Metadata extracts
     $extracts = new MLPHP\Extracts();
     $extracts->addConstraints(array('status', 'subject', 'introduced', 'link', 'session', 'abbrev'));
     $options->setExtracts($extracts);
     $options->setReturnSimilar('true');
     $options->setReturnQuery('true');
     // Term setting
     //$term = new MLPHP\Term("no-results");
     //$options->setTerm($term);
     $options->write('test');
 }
Example #6
0
$options4->setDebug('true');
// Return debugging info
$options4->write('options4');
// Write the search options to the database
// Read the options from the database and display
echo "Field word constraint:\n\n";
echo htmlspecialchars($options4->read('options4'));
echo "\n\n";
// Collection constraint with metadata
$options5 = new MLPHP\Options($client);
// Create an Options object (passing the REST client object)
$collection = new MLPHP\CollectionConstraint('tag', 'http://example.com/tag/');
// Set prefix
$options5->addConstraint($collection);
// Add the constraint to the Options object
$extracts5 = new MLPHP\Extracts();
// Create an Extracts object (for extracted metadata)
$extracts5->addQName('film-title', 'http://marklogic.com/wikipedia');
// Set element namespace
$options5->setExtracts($extracts5);
// Set the extracted metadata in the Options object
$options5->write('options5');
// Write the search options to the database
// Read the options from the database and display
echo "Collection constraint with metadata:\n\n";
echo htmlspecialchars($options5->read('options5'));
echo "\n\n";
// Element-query constraint
$options6 = new MLPHP\Options($client);
// Create an Options object (passing the REST client object)
$eq = new MLPHP\ElementQueryConstraint('title', 'title', 'http://my/namespace');