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.
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
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
const thsr = require("/MarkLogic/thesaurus");
cts.search(
cts.doc("/Docs/hamlet.xml").root.xpath("//LINE"),
thsr.expand(
cts.wordQuery("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" :)
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.