marklogic - 查询以检索与英语以外的语言相关的文档
问题描述
我们的 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
解决方案
如果你让它成为一个无词干的词查询,那么你就不必指定一种语言。这只是运行一个基本的单词匹配,这听起来像你想要的。如果您使用词干(如果您启用了词干索引,这是默认设置,我假设您这样做了),那么语言很重要,因为词干只有在语言的上下文中才有意义。
cts:search(/article, cts:word-query("abc", "unstemmed"))
推荐阅读
- reactjs - useState 在执行作为道具传递的函数时导致缓慢
- c++ - 如何检查类型是智能指针还是对智能指针的引用
- java - 具有滚动活动的 Android Studio
- flutter - 倒计时的文字转语音
- python - Django - 在保存另一个模型期间保存一个模型
- c# - 是否可以在 LINQ 中使用模型中的嵌套类属性?
- c# - 每个循环的实体框架一个一个
- python - 根据列表中的日期组合值
- generics - 我如何处理 Kotlin 中返回的对象表达式
- laravel - Laravel Migration with Sqlite error: typeSet does not exist