MarkLogic search:search()未搜索特定的TEI元素

时间:2019-02-21 16:26:57

标签: xml marklogic marklogic-8 tei

我有一个包含TEI XML文档的MarkLogic数据库。我构建了一个应用程序来搜索和显示这些文档。在测试过程中,我们发现在搜索时未找到某些关键字,并缩小了范围,以意识到未找到的关键字在以下元素中:

<foreign xml:lang="lat">unio cum ipso</foreign>

搜索拉丁词组“ unio cum ipso”将返回零结果。我以为它与@xml:lang有关,但是我想知道是否有人遇到过类似的问题以及如何解决。谢谢!

2 个答案:

答案 0 :(得分:3)

如果您要进行词干搜索(默认搜索),则它将对语言敏感,并且将使用数据库中的默认语言,除非另有说明。如果您想进行跨语言搜索,请使用unstemmed选项。

答案 1 :(得分:0)

感谢@mholstege和@Wagner Michael,我得以解决此问题。问题是我们使用@xml:lang来指定多种语言,而没有默认逻辑(英语)以外的任何MarkLogic许可证密钥。如果您没有适当的许可证密钥,则Marklogic会将任何@xml:lang值视为通用语言,因此在数据库中针对这些非英语术语的任何关键字搜索都不会返回任何匹配项。

请参见Marklogic's Search Developer's Guide, Ch. 28,以获得比我更好的解释。 :)