我正在使用MarkLogic THSR函数来创建“公司”术语的同义词。我能得到想要的结果。当我搜索的基础上“公司”术语,我是得到文本“公司”只突出显示。但是,我需要强调所有的同义词。
当显示结果时,我使用cts:突出显示文本。
我的同义词库XML如下:
<thesaurus xmlns="http://marklogic.com/xdmp/thesaurus">
<entry>
<term>Company</term>
<synonym>
<term>Services</term>
<part-of-speech>noun</part-of-speech>
</synonym>
<synonym>
<term>Industry</term>
<part-of-speech>noun</part-of-speech>
</synonym>
<synonym>
<term>Firm</term>
<part-of-speech>noun</part-of-speech>
</synonym>
<synonym>
<term>Business</term>
<part-of-speech>noun</part-of-speech>
</synonym>
<synonym>
<term>Corporation</term>
<part-of-speech>noun</part-of-speech>
</synonym>
<synonym>
<term>House</term>
<part-of-speech>noun</part-of-speech>
</synonym>
<synonym>
<term>Establishment</term>
<part-of-speech>noun</part-of-speech>
</synonym>
<synonym>
<term>Agency</term>
<part-of-speech>noun</part-of-speech>
</synonym>
<synonym>
<term>Office</term>
<part-of-speech>noun</part-of-speech>
</synonym>
<synonym>
<term>Bureau</term>
<part-of-speech>noun</part-of-speech>
</synonym>
<synonym>
<term>Organization</term>
<part-of-speech>noun</part-of-speech>
</synonym>
<synonym>
<term>Institution</term>
<part-of-speech>noun</part-of-speech>
</synonym>
<synonym>
<term>Operation</term>
<part-of-speech>noun</part-of-speech>
</synonym>
<synonym>
<term>Enterprise</term>
<part-of-speech>noun</part-of-speech>
</synonym>
<synonym>
<term>Venture</term>
<part-of-speech>noun</part-of-speech>
</synonym>
<synonym>
<term>Undertaking</term>
<part-of-speech>noun</part-of-speech>
</synonym>
</entry>
</thesaurus>
有没有其他方法来突出这些事情,或者我做错了什么?请帮帮我。
我对使用同义词库的查询如下:
cts:search(//TEXT, thsr:expand(cts:word-query("TEXT"), thsr:lookup("/myThsrDocs/syn.xml", "TEXT"),(),(),()))
发布于 2014-05-05 14:32:45
通常,您将使用https://docs.marklogic.com/thsr:expand展开查询,然后将结果作为XML传递给https://docs.marklogic.com/search:resolve,后者将进行高亮显示。
search:resolve(
document {
thsr:expand(
cts:word-query("Company"), $THESAURUS-ENTRIES, (), (), ()) }/*)
thsr:expand
函数使用初始的cts:query
项和同义词库条目来编写扩展的查询。document { ... }/*
表达式将该cts:query
项转换为XML元素,这正是search:resolve
所期望的。
https://stackoverflow.com/questions/23470365
复制相似问题