Marklogic 使用thsr时突出显示结果文本:展开ML函数
我使用MarkLogic THSR函数创建公司术语的同义词。我能得到想要的结果。当我在公司术语的基础上搜索时,我只会突出显示公司文本。但是,我需要突出显示所有同义词 我在显示结果时使用cts:highlight突出显示文本 我的同义词表XML如下所示:Marklogic 使用thsr时突出显示结果文本:展开ML函数,marklogic,Marklogic,我使用MarkLogic THSR函数创建公司术语的同义词。我能得到想要的结果。当我在公司术语的基础上搜索时,我只会突出显示公司文本。但是,我需要突出显示所有同义词 我在显示结果时使用cts:highlight突出显示文本 我的同义词表XML如下所示: <thesaurus xmlns="http://marklogic.com/xdmp/thesaurus"> <entry> <term>Company</term> <
<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"),(),(),()))
通常,您会使用扩展查询,然后将结果作为XML传递给进行突出显示的对象
search:resolve(
document {
thsr:expand(
cts:word-query("Company"), $THESAURUS-ENTRIES, (), (), ()) }/*)
thsr:expand函数使用初始cts:query项和同义词库条目编写扩展查询。文档{…}/*表达式将cts:query项转换为XML元素,这是search:resolve所期望的。您如何使用这个同义词库数据?发布一些代码。我已经更新了我的问题,请看我刚刚发布了我的cts:search查询cts:search功能是低级的。它返回一个结果集,仅此而已。要突出显示您想要的搜索:解决:请参阅下面的我的答案。谢谢您的回复。我试着运行它,但如果与cts:search比较,我可以在其中定义元素文本,它会花费太多的时间始终超时。该文档的更多详细信息是,我的数据库中只有一个351MB的文档。我已经通过MLCP插入了它。我在数据库中设置了片段父对象,我有将近111941个片段。我只需要搜索文本元素。请重新考虑一下。文档是行,不是表。明白了。谢谢你的回复。