MarkLogic search:search() 未搜索特定的 TEI 元素
MarkLogic search:search() not searching a specific TEI element
我有一个包含 TEI XML 文档的 MarkLogic 数据库。我构建了一个应用程序来搜索和显示这些文档。在测试过程中,我们发现在搜索时找不到某些关键字,并缩小了问题范围,发现找不到的关键字在以下元素中:
<foreign xml:lang="lat">unio cum ipso</foreign>
搜索拉丁短语 "unio cum ipso" returns 零个结果。我认为它与@xml:lang有关,但我想知道是否有人遇到过类似的问题以及他们是如何解决的。谢谢!
如果您正在进行词干搜索(默认),它将对语言敏感并且将使用数据库中的默认语言,除非另有说明。如果您想进行跨语言搜索,请使用 unstemmed
选项。
感谢@mholstege 和@Wagner Michael,我得以解决这个问题。问题是我们使用@xml:lang 来指定多种语言,除了默认的英语之外没有任何 MarkLogic 许可密钥。如果您没有适当的许可证密钥,Marklogic 会将任何 @xml:lang 值视为通用语言,因此在数据库中搜索这些非英语术语的任何关键字都不会 return 任何匹配项.
请参阅 Marklogic's Search Developer's Guide, Ch. 28 以获得比我能给出的更好的解释。 :)
我有一个包含 TEI XML 文档的 MarkLogic 数据库。我构建了一个应用程序来搜索和显示这些文档。在测试过程中,我们发现在搜索时找不到某些关键字,并缩小了问题范围,发现找不到的关键字在以下元素中:
<foreign xml:lang="lat">unio cum ipso</foreign>
搜索拉丁短语 "unio cum ipso" returns 零个结果。我认为它与@xml:lang有关,但我想知道是否有人遇到过类似的问题以及他们是如何解决的。谢谢!
如果您正在进行词干搜索(默认),它将对语言敏感并且将使用数据库中的默认语言,除非另有说明。如果您想进行跨语言搜索,请使用 unstemmed
选项。
感谢@mholstege 和@Wagner Michael,我得以解决这个问题。问题是我们使用@xml:lang 来指定多种语言,除了默认的英语之外没有任何 MarkLogic 许可密钥。如果您没有适当的许可证密钥,Marklogic 会将任何 @xml:lang 值视为通用语言,因此在数据库中搜索这些非英语术语的任何关键字都不会 return 任何匹配项.
请参阅 Marklogic's Search Developer's Guide, Ch. 28 以获得比我能给出的更好的解释。 :)