Loading TOC...

thsr.expand

thsr.expand(
   $query as cts.query,
   $entries as (element() | Object)[],
   $new-weight as Number?,
   $min-weight as Number?,
   $filter as Node[]
) as cts.query

Summary

Returns a query that searches for all the query strings specified in $query and their synonyms as found in $entries.

Parameters
$query A cts.query item from any of the cts.*Query functions (cts.wordQuery, cts.andQuery, and so on). Thesaurus expansion only occurs on an "unwildcarded" cts.query; it cannot expand "wildcarded" queries.
$entries

An array of thesaurus entries, can be XML elements or javascript objects.

$new-weight A new weight for the relevance ranking. If $new-weight is the empty sequence, then the relevance ranking is inherited from the parent query.
$min-weight A minimum weight for the relevance ranking. If $min-weight is not the empty sequence then only queries with weight less than or equal to $min-weight will be expanded. Otherwise, all queiries are expanded.
$filter An array of node restrictions. These restrictions must be nodes that can be found in a thesaurus entry (for example, <thsr:qualifier>birds</thsr:qualifier>).

Example

var thsr = require("/MarkLogic/thesaurus");

var res = [];
for (var x of cts.doc("/shakespeare/plays/hamlet.xml").xpath("//LINE")) {
if (cts.contains(x, 
                 thsr.expand(
                   cts.wordQuery("weary"), 
                   thsr.lookup("/myThsrDocs/thesaurus.xml", "weary"),
                   null, null, null ))) {
    res.push(x) } };
res;

   => This returns an array containing all of the lines in Shakespeare's 
      Hamlet that have the word "weary" or any of the 
      synonyms of the word "weary"  

  

Comments

    Powered by MarkLogic Server 7.0-4.1 and rundmc | Terms of Use | Privacy Policy