Example #1
0
 function testTransformResults()
 {
     parent::$logger->debug('testTransformResults');
     $options = new MLPHP\Options(parent::$client);
     $tr = new MLPHP\TransformResults('myTransform');
     $pe1 = new MLPHP\PreferredElement('foo', 'http://example.com/foo');
     $pe2 = new MLPHP\PreferredElement('bar', 'http://example.com/bar');
     $tr->addPreferredElements([$pe1, $pe2]);
     $options->setTransformResults($tr);
     $this->assertXmlStringEqualsXmlString('
        <options xmlns="http://marklogic.com/appservices/search">
          <transform-results apply="myTransform">
            <preferred-elements>
              <element name="foo" ns="http://example.com/foo"/>
              <element name="bar" ns="http://example.com/bar"/>
            </preferred-elements>
          </transform-results>
        </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
 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 #4
0
// Value constraint with snippet options
$options2 = new MLPHP\Options($client);
// Create an Options object (passing the REST client)
$value = new MLPHP\ValueConstraint('person', 'name', 'http://marklogic.com/wikipedia');
// Set element namespace
$options2->addConstraint($value);
// Add the constraint to the Options object
$transform2 = new MLPHP\TransformResults('metadata-snippet');
// Create an TransformResults object (snippet)
$pref1 = new MLPHP\PreferredElement('description', 'http://marklogic.com/wikipedia');
// Set element namespace
$pref2 = new MLPHP\PreferredElement('personal', 'http://marklogic.com/wikipedia');
// Set element namespace
$transform2->addPreferredElements(array($pref1, $pref2));
// Add to the TransformResults object
$options2->setTransformResults($transform2);
// Add	 to the Options object
$options2->write('options2');
// Write the search options to the database
// Read the options from the database and display
echo "Value constraint with snippet options:\n\n";
echo htmlspecialchars($options2->read('options2'));
echo "\n\n";
// Word constraint and search option
$options3 = new MLPHP\Options($client);
// Create an Options object (passing the REST client)
$word = new MLPHP\WordConstraint('abstract', 'abstract', 'http://marklogic.com/wikipedia');
// Set element namespace
$options3->addConstraint($word);
// Add the constraint to the Options object
$options3->setReturnSimilar('true');