首页 > 解决方案 > 查询以检索与英语以外的语言相关的文档

问题描述

我们的 ML DB 中有与英语以外的其他语言相关联的文档。使用根元素中的属性@xml:lang 分配给文档的语言。

例如

a.xml
<article xml:lang="es">
  abc
</article>

b.xml
<article xml:lang="it">
  abc
</article>

除非在 cts:word-query 中指定了语言选项,否则全文搜索会给出空结果。

需要在单词查询中指定 lang 选项才能在搜索结果中获取对应的 xml 数据。例如

cts:search(/article, cts:word-qyery("abc", "lang=es")) 

问题是它允许在一个单词查询中使用一个 lang 选项。

是否可以构建一个查询,该查询可以搜索与不同语言关联的此记录,而无需在 cts:word-query 中指定 lang 选项。

这样我们就可以对这些文档进行全文搜索了。

任何建议或想法将不胜感激。

谢谢 AK

标签: marklogicmarklogic-8marklogic-9

解决方案


如果你让它成为一个无词干的词查询,那么你就不必指定一种语言。这只是运行一个基本的单词匹配,这听起来像你想要的。如果您使用词干(如果您启用了词干索引,这是默认设置,我假设您这样做了),那么语言很重要,因为词干只有在语言的上下文中才有意义。

cts:search(/article, cts:word-query("abc", "unstemmed")) 

推荐阅读