问题标签 [marklogic-8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
64 浏览

marklogic - MarkLogic Windows 安装“服务器安装”页面挂起

在 Windows 7 机器上全新安装 MarkLogic 8(用于开发目的)后,我使用“以管理员身份运行”启动服务器,然后启动管理 Web 控制台,将我带到“服务器安装”页面。我收到此消息“此服务器现在必须自行安装初始数据库和应用程序服务器。单击确定继续。” 然后我点击确定按钮,浏览器就挂了。我把它留了一夜,第二天早上它仍然挂起,我已经重新启动/刷新/清除缓存并尝试了它,它仍然只是挂起。

我没有在 MarkLogic 文档中看到任何提及这一点,也没有在此处或通过 Google 的任何其他位置看到。是否有日志文件位置或我可以寻找的东西来开始对此进行故障排除?

0 投票
2 回答
204 浏览

full-text-search - 忽略 cts:search 中的元素

我有一些具有如下结构的 xml 文档:

现在我想用短语 CO2 搜索所有结果,也想在搜索结果中获得上述类型的结果。为此,我正在使用此查询 -

但是使用它我无法使用CO<sub>2</sub>. 我只用简单的短语获取数据CO2

如果我将搜索短语替换为,CO 2那么我只能使用CO<sub>2</sub>而不是CO2

我想获得两者的组合数据CO<sub>2</sub>CO2作为搜索结果。

那么我可以通过任何方式忽略<sub>,还是有其他方法可以解决这个问题?

0 投票
3 回答
203 浏览

marklogic - 当为同一个 URI 声明 2+ 个前缀时,搜索:搜索选项节点中的命名空间声明将被删除

MarkLogic 版本:8.0-3.2

看起来,如果在 search:search 选项节点(如 中)中有多个前缀不同但 URI 相同的命名空间声明,则<element xmlns:bar="myuri:baz" xmlns:foo="myuri:baz">除了第一个前缀之外的每个前缀都会在 search:search 调用中丢失。

这是预期的行为吗?它在 ML7.0-4.3 下不存在,并且我不知道在不同前缀下对同一命名空间 uri 的多个声明违反了 XML 命名空间或 xQuery 规范。

非常感谢任何见解。

测试设置脚本:

测试脚本(为了清晰/可读性而详细说明):

测试输出(注意错误子字符串“No string element range index for child ”---no namespace)

经过

XDMP-ELEMRIDXNOTFOUND: cts:search(fn:collection(), cts:and-query(cts:element-range-query(xs:QName("bar:child"), "=", "TEST", ("collat​​ion = http://marklogic.com/collat ​​ion/"), 1), ()), ("score-logtfidf", cts:score-order("descending")), xs:double("1"), ( )) -- 没有子元素的字符串元素范围索引http://marklogic.com/collat​​ion /

经过

XDMP-ELEMRIDXNOTFOUND: cts:search(fn:collection(), cts:and-query(cts:element-range-query(xs:QName("foo:child"), "=", "TEST", ("collat​​ion = http://marklogic.com/collat ​​ion/"), 1), ()), ("score-logtfidf", cts:score-order("descending")), xs:double("1"), ( )) -- 没有子元素的字符串元素范围索引http://marklogic.com/collat​​ion /

更新:当祖先在不同前缀下多次声明相同的命名空间 URI 时,元素级命名空间声明(使用直接构造函数或通过 fn:QName() 序列化)也会在 ML8(不是 ML7)下中断

当任何祖先在不同的前缀下多次声明相同的 URI 时,前缀在 self::* 处丢失:

输出 ML7.0-4.3:

经过

经过

经过

输出 ML8.0-3.2:

经过

经过

XDMP-ELEMRIDXNOTFOUND: cts:search(fn:collection(), cts:and-query(cts:element-range-query(xs:QName("bar:child"), "=", "TEST", ("collat​​ion = http://marklogic.com/collat ​​ion/"), 1), ()), ("score-logtfidf", cts:score-order("descending")), xs:double("1"), ( )) -- 没有子元素的字符串元素范围索引http://marklogic.com/collat​​ion /

0 投票
1 回答
313 浏览

marklogic - 在 MarkLogic 8 中删除/更新双时间三元组

随着 MarkLogic8 中新的 BiTemporal 功能的引入,您可以跟踪两个时间轴的变化:有效时间和系统时间。三元组也支持这些功能。所以你可以沿着这两个轴回到过去,并可能看到变化。但是,由于三元组存储在文档中,并且双时态元数据存储在文档级别而不是三元组,因此您无法删除或更新特定的三元组。此外,您不能将新的 SPARQL 更新功能与时间三元组一起使用。这是一个例子:

在第 1 天,我们添加了以下三元组,我们假设它们总是正确的:

在第 2 天,我们添加以下三元组,因为我们认为 Luna 住在丹佛:

现在在第 3 天,我们想将 Luna 市更改为旧金山,所以我们别无选择,只能添加另一个三元组:

如果没有三重更新/删除的概念,有几个问题使 MarkLogic 无法正确回答某些问题:

  • 如果您要求所有有效三元组(沿有效时间轴),您将获得所有三元组,包括<Luna> <city> <Denver>.
  • 如果您要求所有当前三元组(沿系统时间轴),您将再次获得所有三元组。
  • 如果您要求最新的三元组(沿两个轴),您只会得到<Luna> <city> <San Francisco>.

这是一个提供所有有效三元组的示例查询:

基于这些,您无法正确回答以下问题:

  1. 如果您要求 Luna 现在居住的有效城市和州,您将得到丹佛和旧金山及其州。
  2. 如果您询问 Luna 居住的最新城市和州,您将一无所获,因为定义城市和州之间联系的三元组不在最新集合中。

以下是主要问题的摘要:

  1. 将新的三元组添加到数据库中:ML8 双时间特性完全支持它。您可以及时返回并查看添加之前的数据库。
  2. 删除三元组:不支持。您只能使用 temporal:document-delete 从“最新”集合中删除最新插入的三元组。数据在那里,您可以查询。您也可能最终删除要保留的三元组,因为一组三元组存储在单个文档中。
  3. 更新三元组(例如 Luna 从丹佛搬到旧金山)。理想情况下,您应该能够删除旧的三元组并插入新的三元组(类似于 ML8 SPARQL 更新功能),但由于不支持删除,您最终会将新的和旧的三元组都存储在数据库中/从数据库中返回.

是否有任何解决方法可以删除/更新时间三元组,以便我们可以回答示例问题?

0 投票
2 回答
123 浏览

xquery - NoSQL MarkLogic 插入实体 POCO 比 SQL Server 2008 慢得多?

我正忙着创建一个简单的 DBTester 程序,它带有一个可以测试和比较多个(某种)数据库的数据访问层。目前我已经为 SQL Server 和 MarkLogic NoSQL 实现了 Add(Insert)。

令我惊讶的是,使用 MarkLogic XCC/.Net XQuery 插入/添加 1 M 个人实体比使用 SQL Server 2008 R2 花费更多的时间。SQL Server 在数据访问层中需要几分钟,其中 11 秒在 11654 毫秒内。MarkLogic 8 在 15 分钟内仍然忙于 15621 个实体!

我是 NoSQL MarkLogic 和 XCC/XQuery 的新手,可能做错了什么。我的 MarkLogic 测试代码可以在 GitHub 上找到:https ://github.com/driekus77/DBTester/blob/master/DBTester/DataAccessLayer/Repository/MarkLogic/PersonRepository.cs#L48

对应的SQLServer添加代码可以在: https ://github.com/driekus77/DBTester/blob/master/DBTester/DataAccessLayer/Repository/SQLServer/PersonRepository.cs#L64

那么我做错了什么?我应该直接使用 MarkLogic RestAPI 吗?我应该使用 JSON 而不是 XML 吗?有没有办法加快我的 XQuery Add 调用?

谢谢你的帮助!

0 投票
1 回答
64 浏览

marklogic - 对特定用户隐藏 marklogic 数据库(权限)

我正在使用 Marklogic 8,我想限制我的数据库的可见性。如何向特定用户隐藏数据库(例如“安全”数据库)?此用户不是管理员,但可以访问 qconsole。

谢谢:) 罗曼。

0 投票
1 回答
365 浏览

marklogic - JSON 的模式验证

有没有办法对 JSON 文档进行模式验证,就像 MarkLogic 8 中 XML 文档的 xsd 模式验证一样?

谢谢

0 投票
2 回答
476 浏览

installation - 通过 DigitalOcean 在 CentOS 6.7 x64 上安装 MarkLogic 8

通过 DigitalOcean 在 CentOS 6.7 x64 上安装 MarkLogic 8

好的,所以我从以下位置下载了 rpm 文件: https://developer.marklogic.com/download/binaries/8.0/MarkLogic-8.0-3.2.x86_64.rpm

我安装了它: sudo yum install MarkLogic-8.0-3.2.x86_64.rpm

开始它: sudo /etc/init.d/MarkLogic start

进入管理界面: my_ip_address:8001

我跳过加入集群我为用户输入管理员输入密码并确认它是公共的领域我单击确定并...

我被重定向到: my_ip_address:8001/security-install-go.xqy

得到这个:没有收到数据

ERR_EMPTY_RESPONSE 隐藏详细信息 无法加载网页,因为服务器未发送任何数据。重新加载此网页 按重新加载按钮重新提交加载页面所需的数据。

0 投票
1 回答
89 浏览

marklogic - Marklogic 内存使用情况

我正在使用 Marklogic 8.0-1.1,Windows 7 和 4GB RAM。Marklogic 使用超过 90% 的物理内存(系统资源监视器提交(KB)6,890,111 和工作集(KB)3,601,012)。上述情况每天都在随机时间发生,在这种情况下,我无法查询或使用我的系统或任何其他应用程序。我只能通过在几分钟后停止 marklogic 和 Start 来结束它。执行查询时不会发生这种情况,并且在数据库状态页面中也不会发生这种情况,即未重新索引/重新碎片化。请让我知道如何避免这个问题。

0 投票
1 回答
157 浏览

spring-mvc - MarkLogic 弹簧 RestTemplate

您好我正在尝试使用 RestTemplate 获取 MarkLogic 中的图表列表。下面是示例代码。从浏览器我可以获取图表列表,但通过 Java REST 客户端我收到错误 401。

请帮我解决问题