问题标签 [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 回答
358 浏览

xquery - 用于确定元素不存在的文档的高效 XQuery 查询

假设我在这样的集合中有大约 5000 万条记录:

所以我可能有一百万条记录(坏数据),如下所示:

some_data 元素为空。因此,如果我在some_data_idelement-range-index上进行了设置,那么什么是高效的 XQuery 查询,它可以让我删除所有空的查询?

我认为我正在寻找的是一个不是FLWOR的查询,您可以在其中检查每个元素的子记录是否存在,因为我认为这是低效的(即拉回数据然后过滤)?

而如果我在cts:search查询中这样做,那么它会更有效,例如在将数据拉回之前过滤数据?

请编写一个可以有效执行此操作的查询,并确认我对FLWOR语句的假设是否正确。

0 投票
1 回答
100 浏览

node.js - Marklogic 8 Node.js API - 如何在根的属性子项上进行搜索?

[28/09 17:15 更新]

我正在处理以下类型的 json 数据:

包含在数据库中后,使用 node.js 进行搜索

将返回名为“Sun”的电影和具有 seeAlso/title 属性的电影(请原谅 xpath 语法)=“Sun”。

我需要找到 1/ 标题 = 'Sun' 的电影 2/ seeAlso/title = 'Sun' 的电影。

我尝试使用 q.scope() 进行容器查询,但没有成功;我没有找到如何确定根对象节点(第一种情况)的范围,而对于第二种情况,

作为第一个结果返回与根对象节点内的所有文本匹配的项目

这似乎很疯狂。

关于如何对非规范化的 json 数据进行此类搜索的任何想法?

0 投票
2 回答
56 浏览

node.js - Marklogic 8 Node.js API - 短语搜索

我正在尝试使用应用于 json 对象的结构化查询对电影标题进行搜索。

让我们想象一部名为“Marius et Jeannette”的电影。

或者

两者都给出结果。

才不是。

有没有办法使用 node.js API 配置“近查询”?我在文档中没有找到关于这个主题的任何内容。

0 投票
3 回答
164 浏览

marklogic - MarkLogic 8 JavaScript 数组

我正在尝试使用数组。这是一些解释我在做什么的工作代码。

现在,当我对查询结果使用相同的逻辑时,它不再起作用了。

我已经验证了两个查询的结果都是一个数组。数组由值组成,就像示例代码一样;1000、2000 等。此外,当我使用 notAndQuery 从第一个查询中排除第二个查询的结果时,这没有效果。

例如,当我查看 qDo[2] 时,会返回正确的值。

我的 andNotQuery:

0 投票
1 回答
256 浏览

sparql - MarkLogic 中的命名图支持

我不明白FROM NAMEDMarkLogic 是如何支持图形的。我正在尝试使用 SPARQL 查询来查找三元组来自哪个集合。结果真的很混乱。例如:

返回一组三元组。但是,如果我取消注释该行# GRAPH ?g,则会返回以下错误:

[1.0-ml] XDMP-COLLXCNNOTFOUND: amped-qconsole:qconsole-sparql($query, (), (), (), ()) -- Collection lexicon not enabled

和亮点就WHERE {行了。

此外,以下工作并返回一组三元组:

但不是这个:

它返回一个空集。添加该GRAPH ?g行会导致返回与上述相同的错误。我真的很困惑。有人可以解释这种行为吗?

0 投票
1 回答
203 浏览

search - MarkLogic 变音符号不敏感片段

现在,我正在使用此代码生成片段,基于我从 MarkLogic 搜索中获得的 JSON 文档。

执行搜索时,我正在使用:

因此,搜索工作对变音符号不敏感并产生良好的结果,但在search:snippet我无法diacritic-insensitive像在cts.jsonPropertyValueQuery.

文档中,我可以在描述中看到这一点

用于定义搜索语法和控制搜索的选项。请参阅函数 search:search 的 $options 描述。请注意,您不能使用 search:snippet 在 transform-results 选项上指定 apply 属性;要使用不同的片段功能,请改用 search:search 或 search:resolve。

但在这里是:

那么这是否意味着我不能将其他选项传递给 search:snippet?或者有没有办法做到这一点?

我正在使用它进行测试chávez并且它正在产生结果,但是仅针对包含完全匹配的文档正确生成片段,这意味着该文档

查韦斯做了什么

不会高调Chavez

查韦斯做了什么

将获得高光

提前致谢!

0 投票
1 回答
381 浏览

marklogic - xdmp http post options for token authentication

I have found the https://docs.marklogic.com/xdmp:http-post function.

I would like to use the token authentication method to send out a JSON document from MarkLogic to a middle tier node.js application. We use token authentication.

What http-options should I use to make this work?

Example:

Ofcourse posting this as-is gives me a 401 unauthorized response:

0 投票
1 回答
233 浏览

marklogic - mlcp 将 csv 文件转换为 OBI 源

我有以下挑战。我们有想要使用 mlcp 加载到 MarkLogic 数据库中的 csv 文件。我们还希望在加载过程中将加载的行转换为 OBI 源,因此我们为此构建了一个转换函数。

现在我正在为转型而苦苦挣扎。如果没有转换,数据将按预期作为每行的文档加载。

.csv 示例:

变换救护车.xqy:

mlcp 命令:

mlcp 输出:

我试过没有 xdmp:unquote() 但后来我遇到了强制 document-node() 错误......

请指教...

0 投票
1 回答
471 浏览

javascript - 空 JSON 数组的 MarkLogic Javascript 查询

我正在处理一个查询,该查询将过滤具有像这样的空 JSON 数组节点的文档(输出属性):

现在我正在使用这个查询:

它正在过滤所有带有空(空 GUID)Input字段的文档,并且应该(但不是)过滤带有空(空数组)的文档Output

它正在处理文档:

我认为这是因为空数组是 MarkLogic 的一个值。有没有人有类似的问题?如何查询空 JSON 数组?

编辑:

非空消息(应该返回)如下所示:

0 投票
2 回答
325 浏览

triggers - 触发器不会运行(添加了更多信息)

我已经修补这个触发器几个小时了,我想我现在已经查明了这个问题。

我在ML8 文档中设置了一个示例触发器。

现在我已将其修改为更真实的动作。

问题似乎是我使用了一个库模块,它在 lib.xqy 中保存了我自己的函数。我已经在查询控制台中测试了库本身,所有功能都运行良好。

警报操作本身在 QC 中也运行良好。

simpleTrigger 工作正常。

如果我删除使用我自己的库的函数,则运行更复杂的。

似乎触发器是由用户运行或从找不到我的模块的地方(在模块数据库中)运行的。我已将 trigger-db 设置为指向 content-db。

触发器查看新文档的目录(文档创建)。

如果我想使用我自己的 lib 函数,抛出的错误是:

该模块位于 modules-db...

困扰我的另一件事是 ML doc 中的示例

在这种情况下,权限应用程序用户会做什么?

无论如何,主要问题:如果我在触发器操作中使用自定义模块,为什么触发器不会运行?

我看过这个问题并认为它是相关的,但我不明白那里的答案......

编辑开始,有关触发器创建语句的更多信息:

确实,触发器是从 QC 创建的,因此确实是管理员(我还必须弄清楚如何将代码添加到 app-specific.rb)。并且触发器操作也是从 QC 加载的,其中包含与文档中的触发器示例等效的 doc insert 语句。

为了完整起见,我根据 Geert 的建议将此添加到 app-specific.rb

为了进行测试,我还将它作为内容的一部分加载(使用 ./ml 本地部署内容来加载它,正如在操作之前所说的那样,它将运行,因此操作文档本身的权限似乎没有问题。我做什么不明白的是,一旦我尝试在操作中使用我自己的模块,它就找不到模块,或者(见评论大卫)对模块没有正确的权限。所以触发操作将无法运行......该模块在 /src/lib/lib.xqy 下加载了 roxy

第二次编辑

通过将以下内容添加到 app_specific.rb,我添加了所有触发 stuf 以包含在 roxy 中:

如您所见,根路径现在是“/”行

我还手动添加了权限,但是只要添加指向 sccs-lib.xqy 的行,我的触发器就会失败......