问题标签 [marklogic-9]

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 投票
2 回答
97 浏览

xml - 当特定元素在 Marklogic 中多次出现时,仅搜索那些 XML

我正在尝试在 Marklogic 中搜索具有<document>不止一次元素的文档 XML。以下是我要检索的一个此类文档 XML 的结构:

我不想检索具有以下结构的 XML:

element-query我可以使用with搜索存在或最少一个xs:QName("document"),但不确定如何使用多个搜索。

任何帮助将非常感激。

0 投票
2 回答
48 浏览

marklogic - Marklogic 9.0-3 REST 参数在 REST 扩展中访问

我有一个 REST 扩展,并且我一直在访问已在 GET 和 POST 中传递的参数,如下所示。参数作为form-data或传递x-www-form-urlencoded。在我的 REST 扩展中,我将通过xdmp:get-request-field("remoteURL").

在 ML-8 中,这在调用 WS 时有效,我将传递参数作为remoteURL并且它有效..

现在在 ML-9.0-3 中,它不起作用,所以我尝试通过rs:remoteURLREST 扩展中的 asxdmp:get-request-field("remoteURL")和访问传递参数,但它失败了,但是当我访问 as 时xdmp:get-request-field("rs:remoteURL")。它有效.. 这在 ML-9.0-3 中是否发生了变化?

为了完整起见,我还包括我的 REST 扩展代码

0 投票
2 回答
53 浏览

marklogic - 对 MarkLogic 搜索结果进行排名

我正在尝试找出一种根据不属于搜索条件的字段对搜索结果进行排名的方法。即搜索的相关性不仅取决于匹配,而且文档之间也有一个默认的相关性等级。

到目前为止,我的搜索都失败了,甚至无法确认它是否是受支持的功能;大多数 cts:search 文档都是关于排名匹配的。

那么,是否有一个内置的 marklogic 功能允许我们为文档分配一个值乘数?例如,基于元素值。

非常感谢,K。

PS:我使用marklogic 9。

0 投票
1 回答
337 浏览

marklogic - Marklogic 光学 API

我一直在测试将我们的一个系统迁移到 Marklogic 9 并使用光学 API。

我们的功能之一涉及按 member_id、member_name 对声明进行分组并获取总和和计数,所以我做了这样的事情:

以上工作正常。结果的形式

但是,我们也有一个“公司”字段,其中每个索赔都在不同的公司下提交。基本上相关的视图列是claim_no、member_id、member_name、company、claim_amount

我希望能够显示一个列,其中列出了 member_id/member_name 已为其提出索赔的不同公司,以及每家公司有多少索赔。

即我希望我的结果是这样的:

我试过这样的事情:

并且输出看起来是正确的,但执行起来也很慢——差不多一分钟(索赔文件总数约为 120k)

在我们之前的 ML8 实现中,我们为每个成员预先生成摘要文档 - 因此检索速度相当快,但缺点是每当我们获得一堆新数据时,都必须重新生成所有摘要文档。我希望 ML9 的光学 API 可以更轻松地即时进行检索/分组/聚合,这样我们就不必这样做了。

理论上,我可以将公司添加到 groupBy 字段,然后根据需要合并结果查询中的行。但是这种方法的问题是我不能保证我会得到总金额的前 200 名(就像我原来的查询一样)

所以,问题是:有没有更好的方法在合理的执行时间内做到这一点?还是我应该坚持预先生成摘要文档?

0 投票
1 回答
93 浏览

node.js - MarkLogic Query By Example 返回不正确的结果

您好,我是使用 MarkLogic 9 结合 NodeJS 进行查询的新手,并尝试使用 MarkLogic 9 示例中提到的 QBE(按示例查询)(https://docs.marklogic.com/guide/search-dev /qbe ) 当我使用带有以下语句的 xquery 时:

返回 46 个正确结果。当我尝试使用 QBE 执行此操作时:

它返回 10 个结果而不是 46 个。它与我使用哪个订单号无关,所有可能性都显示 10 条记录。你能告诉我我做错了什么吗?

MarkLogic 中的源 xml 文件采用以下格式:

曼尼谢谢

埃里克

0 投票
1 回答
288 浏览

marklogic - MarkLogic 模板驱动提取和三元组:处理数组节点

我一直在研究这里的例子:https ://docs.marklogic.com/guide/semantics/tde#id_25531

我有一组文档,这些文档由父名称和一组具有自己名称的子节点组成。我想创建一个模板来生成“name1 is-a-parent-of name2”形式的三元组。这是我尝试的测试,带有文档结构的示例:

但是,上面抛出了一个异常:

[javascript] TDE-EVALFAILED: tde.nodeDataExtract([cts.doc("/test/tde.json")]) -- Eval for Object='xs:string(children/name)' 返回 TDE-BADVALEXPRESSION: Invalid val表达式:XDMP-CAST: (err:FORG0001) 无效转换:(fn:doc("/test/tde.json")/content/array-node("children")/object-node()[1]/text ("name"), fn:doc("/test/tde.json")/content/array-node("children")/object-node()[2]/text("name")) 转换为 xs :细绳?

将数组节点提取为三元组的正确语法是什么?

第二个相关的问题:假设我也想要“child1 is-sibling-of child2”形式的三元组。对于上面的示例,它将是“Bob Child is-sibling-of Sue Child”。什么是正确的语法?我什至不知道如何从这个开始。

TDE甚至是去这里的路吗?还是以编程方式执行此操作更好?即在文档摄取时,直接在文档中生成那些三元组?

(如果相关,正在使用的 ML 版本是 9。)

0 投票
1 回答
47 浏览

marklogic - 在 MarkLogic 9 中如何更新已创建模板中的列

我创建了一个带有一些 x 列的模板。假设我想再添加一列,如何更新模板?

查看 MarkLogic 文档,只有插入的 tde 函数。

0 投票
0 回答
182 浏览

javascript - MarkLogic 9 sjs 触发器无法访问 post-commit() 文档数据

我最近迁移到 MarkLogic 9.0.2,现在我将所有触发逻辑从 xqy 迁移到 sjs。

这是我的问题,我在 sjs 中有一个触发器,它是在 xqy 中创建的,如下所示:

触发代码尝试查找刚刚创建的文档以检查某些内容。

请注意,uri 似乎“就在那里”......

sjs中的触发代码:

现在触发器被激活并被触发,但在日志中数据对象为空。

日志:

如果我在查询控制台中执行相同的代码,它就可以工作......

我错过了什么?

0 投票
1 回答
303 浏览

authentication - MarkLogic LDAP 身份验证

我在 MacOS 上运行 ML9。我正在尝试在查询控制台(App-Server 端口 8000)上设置外部身份验证(最终授权)。

我有: 1. 为一些用户创建了 OpenLDAP 服务器 2. 使用以下详细信息创建了 LDAP 配置:

  1. 更新了查询控制台应用程序服务 [端口 8000],详细信息如下:

    身份验证:基本内部安全:假外部安全:ExtLDAP 默认用户:nobody

  2. 创建了具有以下详细信息的内部用户:

名称:ldapuser 外部名称:cn=Newer Surname,ou=BizUser,dc=babji,dc=com

  1. 下面测试:成功

    xdmp:ldap-search("sn=Surname", options xmlns="xdmp:ldap"> username>cn=Manager,dc=babji,dc=com 密码>xxxx server-uri>ldap://localhost:389 search- base>ou=BiZUser,dc=babji,dc=com bind-method>simple /options>) (请原谅上面的格式。我无法将其更改为代码格式。)

ldapsearch 也可以:

问题:

当我尝试使用带有 LDAP 数据库中的 cn 条目(用户)之一的浏览器登录到查询控制台时,我无法登录。此外,以下命令不起作用

我不确定应该在配置页面中放置哪些配置。您能帮我或将我重新定向到正确的位置吗?

问候, 巴拉德瓦杰

0 投票
2 回答
212 浏览

marklogic - 是否可以在没有管理员角色的情况下在 MarkLogic 9 上使用 ml-gradle?

我在 MarkLogic 9 上使用 ml-gradle,但想使用最小权限原则配置运行 ml-gradle 的 MarkLogic 帐户。是否可以在 MarkLogic 中配置 ml-gradle 用户以获得更细粒度的权限,还是我被困在使用管理员角色?部署将是相当标准的,创建文档、模块、索引、查询选项等。

谢谢,--丹