问题标签 [marklogic-dhf]

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 回答
93 浏览

marklogic - MarkLogic:在特定数据库中创建临时集合

MarkLogic 版本:9.0-6.2

我的要求是在 FINAL 数据库上启用双时间,所以我创建了所需的字段范围索引和轴。最后,我创建了一个时间集合,如下所示(在以 data-hub-FINAL 作为选定数据库的查询集合中执行)

但是,我注意到临时集合的范围也扩展到了 STAGING DB。当我尝试通过传递“客户”集合在 STAGING DB 上执行常规 xdmp.documentInsert 时,我收到错误消息,因为客户集合是临时的,所以我无法传递集合名称。

我通过使用不同的集合名称(customerStaging)来解决问题,但这是 temporal.collectionCreate 的预期行为吗?有没有办法可以将临时集合限制为数据库,以便我可以在其他数据库中使用与非临时集合相同的集合?

请建议。

0 投票
1 回答
89 浏览

marklogic - MarkLogic:使用 xdmp.eval 在数据库之间切换

MarkLogic 版本:9.0-6.2

我们有一个自定义 REST API,它从 STAGING 读取文档,然后更新 FINAL 中的一些文档,然后在 STAGING 文档上运行 xdmp.documentRemoveCollections。

第 1 步:从 STAGING DB 开始。阅读文档

第 2 步:切换到 FINAL DB,将更改应用到 FINAL DB 中的多个文档

第 3 步:切换到 STAGING DB,在第 1 步中读取的文档上应用 xdmp.documentRemoveCollections

我们正在使用 xdmp.eval 在数据库之间切换,但注意到服务正在超时,可能是因为在数据库之间切换。(例如,如果我们删除 xdmp.documentRemoveCollections 步骤,那么服务不会超时,可能是因为它不必从 FINAL 切换到 STAGING)

我们尝试使用协调流,但行为不一致,可能是因为 FINAL 中有多个文档更新。

请建议在 CUSTOM REST API 中是否需要采取任何预防措施以避免超时,同时在数据库之间来回切换。

提前致谢!

0 投票
2 回答
115 浏览

marklogic - Gradle mlReloadModules 未加载 REST 扩展

MarkLogic 版本 - 9.0-6.2 DHF 版本:2.0.6(id 'com.marklogic.ml-data-hub' 版本 '2.0.6')

尝试通过“gradle mlReloadModules”命令部署更改,但注意到未部署 REST 扩展 billing.sjs。此文件 (billing.sjs) 保存在 \data-hub\EODH\plugins\entities\billing\harmonize\REST\services 中,我从 \data-hub\EODH 目录执行了多次“gradle mlReloadmodules”命令

我去了 data-hub-MODULES db 并浏览了 /marklogic.rest.resource/billing/assets/resource.sjs 以查看旧代码仍然存在。

在重新加载模块之前,我还执行了“rm .tmp/user-modules-deploy-timestamps.properties”。

以下是“gradle mlReloadmodules -d”命令的选定输出部分

23:17:34.455 [调试] [com.marklogic.com.marklogic.client.ext.modulesloader.impl.EntityDefModulesFinder] 在 baseDir 中查找模块:G:\data-hub\EODH\plugins\entities\billing 23:17: 34.455 [DEBUG] [com.marklogic.com.marklogic.client.ext.modulesloader.impl.EntityDefModulesFinder] 在baseDir中查找模块,修改为:file:/G:/data-hub/EODH/plugins/entities/ billing/ 23:17:34.455 [DEBUG] [com.marklogic.com.marklogic.client.ext.modulesloader.impl.EntityDefModulesFinder] 在路径中查找实体定义:file:/G:/data-hub/EODH/plugins/entities /计费/.entity.json 23:17:34.455 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 在目录树中寻找匹配资源 [G:\data-hub\EODH\plugins\entities\billing] 23: 17:34.456 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 搜索目录 [G:\data-hub\EODH\plugins\entities\billing] 寻找匹配模式的文件 [G:/data-hub/EODH /plugins/entities/billing/.entity.json] 23:17:34.456 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 已解决的位置模式 [file:/G:/data-hub/EODH/ plugins /实体/计费/.entity.json] 到资源 [] 23:17:34.457 [DEBUG] [com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader] 从基本目录加载模块:G:\data-hub\EODH\plugins\entities \billing\harmonize\REST 23:17:34.470 [DEBUG] [com.marklogic.client.ext.modulesloader.impl.PropertiesModuleManager] 从以下位置加载属性:G:\data-hub\EODH.tmp\user-modules-deploy- timestamps.properties 23:17:34.470 [DEBUG] [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder] 在 baseDir 中查找模块:G:\data-hub\EODH\plugins\entities\billing\harmonize\REST 23:17 :34.470 [DEBUG] [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder] 在baseDir中查找模块,修改为:file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST / 23:17:34.470 [调试] [com.marklogic.appdeployer。command.modules.AllButAssetsModulesFinder] 在路径中查找命名空间:file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/namespaces/.* 23:17:34.471 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 在目录树中寻找匹配资源 [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\ namespaces] 23:17:34.471 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 跳过 [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\namespaces] 因为它没有存在 23:17:34.471 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 已解决的位置模式 [file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/namespaces/ .] 到资源 [] 23:17:34.471 [DEBUG] [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder] 在路径中查找选项模块:file:/G:/data-hub/EODH/plugins/entities/billing/协调/REST/选项/ 23:17:34.471 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 在目录树中寻找匹配资源 [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\options] 23:17:34.471 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 搜索目录 [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\options] 文件匹配模式 [ G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/options/ ] 23:17:34.472 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 解决位置模式 [file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/options/ . ] 到资源 [文件 [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\options\BillingInfoList.json]] 23:17:34.472 [DEBUG] [com.marklogic.appdeployer.command.modules .AllButAssetsModulesFinder] 在路径中查找 REST 属性文件:file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/rest-properties.json 23:17:34.472 [DEBUG] [com.marklogic. appdeployer.command.modules.AllButAssetsModulesFinder] 在以下路径查找服务模块:file:/G: /data-hub/EODH/plugins/entities/billing/harmonize/REST/services/.xq 23:17:34.472 [调试] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 在目录树中寻找匹配资源 [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\services] 23:17:34.472 [调试] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 搜索目录 [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\services] 文件匹配模式 [ G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/services/ .xq ] 23:17:34.473 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 已解决的位置模式 [文件:/G: /data-hub/EODH/plugins/entities/billing/harmonize/REST/services/.xq] 到资源 [] 23:17:34.473 [DEBUG] [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder] 在路径查找服务模块:file:/G:/data-hub/EODH/plugins/entities/billing/ harmonize/REST/services/ .sjs 23:17:34.473 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 在目录树中寻找匹配资源 [G:\data-hub\EODH\plugins\entities\ billing\harmonize\REST\services] 23:17:34.473 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 搜索目录 [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST \services] 用于匹配模式的文件 [G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/services/.sjs] 23:17:34.474 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 已解决的位置模式 [file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/ services/ .sjs] 到资源 [文件 [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\services\billing.sjs],文件 [G:\data-hub\EODH\plugins\entities \billing\harmonize\REST\services\billing360.sjs],文件 [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\services\billingReg.sjs]] 23:17:34.474 [调试] [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder] 在路径查找转换模块:file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/transforms/.xq* 23:17:34.474 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 在目录树中寻找匹配资源 [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST \transforms] 23:17:34.474 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 跳过 [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\transforms] 因为它确实不存在 23:17:34.474 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 已解决的位置模式 [file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/transforms /.xq _] 到资源 [] 23:17:34.474 [DEBUG] [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder] 在路径查找转换模块:file:/G:/data-hub/EODH/plugins/entities/billing/协调/REST/transforms/.xsl 23:17:34.474 [调试] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 在目录树中寻找匹配资源 [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\transforms] 23:17:34.475 [调试] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 跳过 [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\transforms] 因为它不存在 23 :17:34.475 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 解决位置模式 [file:/G: /data-hub/EODH/plugins/entities/billing/harmonize/REST/transforms/.xsl] 到资源 [] 23:17:34.475 [DEBUG] [com.marklogic.appdeployer.command.modules.AllButAssetsModulesFinder] 在路径查找转换模块:file:/G:/data-hub/EODH/plugins/entities/billing/协调/REST/转换/.sjs 23:17:34.475 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 在目录树中寻找匹配资源 [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\ transforms] 23:17:34.475 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 跳过 [G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\transforms] 因为它没有存在 23:17:34.475 [DEBUG] [org.springframework.core.io.support.PathMatchingResourcePatternResolver] 已解决的位置模式 [file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/transforms/.sjs] 到资源 [] 23:17:34.475 [INFO] [com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader] 从文件 BillingInfoList.json 加载 BillingInfoList 查询选项 23:17:34.489 [DEBUG] [com. marklogic.client.impl.OkHttpServices] Putting /config/query/BillingInfoList 23:17:34.529 [DEBUG] [com.marklogic.client.ext.modulesloader.impl.DefaultExtensionMetadataProvider] 无法从资源文件构建元数据:file:/G :/data-hub/EODH/plugins/entities/billing/harmonize/REST/services/billing.sjs;原因:G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\services\metadata\billing.xml (系统找不到指定的文件)23:17:34.530 [INFO] [com.marklogic. client.ext.modulesloader.impl.DefaultModulesLoader] 从文件 billing.sjs 23:17:34.540 [INFO] [com.marklogic. client.impl.ResourceExtensionsImpl] 为计费编写资源服务源 23:17:34.540 [DEBUG] [com.marklogic.client.impl.OkHttpServices] Putting config/resources/billing 23:17:34.552 [DEBUG] [com.marklogic. client.ext.modulesloader.impl.DefaultExtensionMetadataProvider] 无法从资源文件构建元数据:file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/services/billing360.sjs;原因:G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\services\metadata\billing360.xml(系统找不到指定的文件)23:17:34.553 [INFO] [com.marklogic. client.ext.modulesloader.impl.DefaultModulesLoader] 从文件 billing360.sjs 23:17:34.560 加载 billing360 资源扩展 [INFO] [com.marklogic.client.impl.ResourceExtensionsImpl] 为 billing360 23:17:34 编写资源服务源。560 [DEBUG] [com.marklogic.client.impl.OkHttpServices] Putting config/resources/billing360 23:17:34.576 [DEBUG] [com.marklogic.client.ext.modulesloader.impl.DefaultExtensionMetadataProvider] 无法从资源构建元数据文件:file:/G:/data-hub/EODH/plugins/entities/billing/harmonize/REST/services/billingReg.sjs;原因:G:\data-hub\EODH\plugins\entities\billing\harmonize\REST\services\metadata\billingReg.xml(系统找不到指定的文件)23:17:34.577 [INFO] [com.marklogic. client.ext.modulesloader.impl.DefaultModulesLoader] 从文件 billingReg.sjs 加载 billingReg 资源扩展 23:17:34.583 [INFO] [com.marklogic.client.impl.ResourceExtensionsImpl] 为 billingReg 23:17:34.583 编写资源服务源 [调试] [com.marklogic.client.impl。

0 投票
1 回答
34 浏览

marklogic - MarkLogic 数据中心 JOBS 数据库搜索选项配置

我需要自定义 JOBS 数据库的搜索选项。mlLoadModules gradle 任务正在加载一个 OOTB jobs.xml 搜索选项配置文件,但我不知道在哪里可以覆盖它。根据这个页面,我应该将 JOBS DB 工件放入src/main/ml-modules-jobs。所以我尝试src/main/ml-modules-jobs/options/jobs.xml了,但没有加载。如果有人对如何自定义 JOBS 数据库搜索选项有任何建议,请分享。

TIA

0 投票
1 回答
122 浏览

marklogic - MarkLogic - 从临时集合中永久删除所有文档

MarkLogic 版本:9.0-6.2

有没有办法从临时集合中物理删除所有文档,甚至删除集合本身(如非临时集合上的 xdmp.collectionDelete)。

我们尝试了 temporal.collectionRemove,但仅当临时集合为空时才有效。

我们还尝试遍历时间集合并应用 temporal.documentDelete 但这只会结束系统结束时间,但文档是物理可用的并且可以通过搜索返回。

提前致谢!

0 投票
1 回答
42 浏览

marklogic - MarkLogic:使用选项文件对集合应用“AND”查询

我们在客户和计费集合上启用了双时域,并且在客户和计费集合的最新集合中有一个客户“123456”。我们正在尝试使用选项文件从“客户”集合中提取客户的最新文档。

下面是我们编写的选项文件。

当我们尝试下面的代码时,文档仍然来自客户和计费集合。

上述查询中的 SearchOptions 是选项文件。

我们的理解是“附加查询”将应用 AND 条件,但看起来我们的理解存在一些差距。

如何在选项文件中应用 AND 条件以仅从“客户”集合中提取最新文档。

提前致谢!

0 投票
1 回答
65 浏览

marklogic - MarkLogic - 访问 xdmp.save 功能

  • 我有一个与用户 infa1 一起运行的 informatica 脚本
  • informatica 脚本通过使用用户 marklogic1 连接到 MarkLogic 服务器来调用 MarkLogic 自定义 REST API
  • 自定义 REST API 有一个 xdmp.save() 函数,该函数尝试将
    文档保存在 Windows 批处理服务器上(MarkLogic 安装在不同的 Linux 服务器上)

我试图了解如何设置权限才能在 Windows 批处理服务器上成功写入文档。哪个用户(infa1 或 marklogic1)应该在 Windows 批处理服务器上具有写入权限?此外,在 Linux 服务器(安装 MarkLogic 的位置)上运行的 xdmp.save 函数如何在不同的 Windows 批处理服务器(或与安装 MarkLogic 的位置不同的 Linux 服务器)上传输和保存数据

提前致谢!

0 投票
1 回答
82 浏览

marklogic - MarkLogic - 基于 JSON 对象的路径搜索(不使用路径范围索引)

标记逻辑:9.0-6.2

我们在客户实体中有如下 JSON 文档。

我的需要是根据 CustomerId 在特定路径 CustomerInfo.IdInfo.CustomerId 搜索文档

所以如果我搜索“12345”,应该会返回上面的文档。但如果我用“45678”搜索,则不应返回上述文档。

我创建了路径范围索引并使用了 cts.pathRangeQuery('/CustomerInfo/IdInfo/CustomerId','=', '12345')。但是,意识到路径范围索引非常昂贵,因此寻找一种方法来实现没有路径范围索引。

提前致谢!

0 投票
1 回答
37 浏览

marklogic - MarkLogic 数据中心 - 快速启动 UI 未出现

我想在我的 Linux 机器上设置数据中心。

  • 我使用快速启动版本:quick-start-4.3.1.war
  • Java JDK: 1.8.0_161

当我在 Linux 终端中运行以下命令时:

我收到

QuickStart UI 已准备就绪并正在侦听端口 8080。

但是当我尝试访问时http://localhost:8080,它只显示 Tomcat 页面而不是 MarkLogic 快速启动 UI。

我想查看 Data Hub 快速启动 UI 而不是 Tomcat 页面。

0 投票
1 回答
62 浏览

marklogic - 如何在 DatahubFramework 中访问部署到 FINAL 数据库的模块

我正在使用 Marklogic 的 DatahubFramework 并部署了自制的 Javascript 模块。当我通过 8010 端口(STAGING DB)调用这些资源时,一切似乎都工作正常,但是当调用 8011 端口(FINAL DB)时,我总是得到同样的错误:

“RESTAPI-INVALIDREQ:(错误:FOER0000)无效请求:原因:扩展测试或依赖项不存在:XDMP-MODNOTFOUND:(错误:XQST0059)模块/marklogic.rest.resource/test/assets/resource.xqy未找到.有关详细信息,请参阅 MarkLogic 服务器错误日志。”

我调用的端点是“ http://localhost:8011/v1/resources/searchEvents

如何解决这个问题?