MarkLogic 9 Product Documentation
thsr:expandthsr:expand(
$query as cts:query,
$entries as item()*,
$new-weight as xs:double?,
$min-weight as xs:double?,
$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:word-query ,
cts:and-query , and so on).
Thesaurus expansion only occurs on an "unwildcarded"
cts:query ;
it cannot expand "wildcarded" queries.
|
entries |
A sequence 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 |
Only return entries containing a node that is deep equal to at
least one of the XML nodes specified by this parameter. The filter
nodes must be nodes that can be found in a thesaurus entry. For example,
<thsr:qualifier>birds</thsr:qualifier> .
|
Example
xquery version "1.0-ml";
import module namespace
thsr="http://marklogic.com/xdmp/thesaurus"
at "/MarkLogic/thesaurus.xqy";
cts:search(
doc("/Docs/hamlet.xml")//LINE,
thsr:expand(
cts:word-query("weary"),
thsr:lookup("/myThsrDocs/thesaurus.xml",
"weary"),
(),
(),
() )
)
(: This query returns all of the lines in Shakespeare's
Hamlet that have the word "weary" or any of the
synonyms of the word "weary" :)
Copyright © 2024 MarkLogic Corporation. MARKLOGIC is a
registered trademark of MarkLogic Corporation.