marklogic - MarkLogic - 基于 JSON 对象的路径搜索(不使用路径范围索引)
问题描述
标记逻辑:9.0-6.2
我们在客户实体中有如下 JSON 文档。
"CustomerInfo": {
"IdInfo": {
"CustomerId":"12345"
},
"PartyRltp": {
"CustomerId":"45678"
}
}
我的需要是根据 CustomerId 在特定路径 CustomerInfo.IdInfo.CustomerId 搜索文档
所以如果我搜索“12345”,应该会返回上面的文档。但如果我用“45678”搜索,则不应返回上述文档。
我创建了路径范围索引并使用了 cts.pathRangeQuery('/CustomerInfo/IdInfo/CustomerId','=', '12345')。但是,意识到路径范围索引非常昂贵,因此寻找一种方法来实现没有路径范围索引。
提前致谢!
解决方案
我想你正在寻找cts.jsonPropertyScopeQuery
:
cts.jsonPropertyScopeQuery(
'IdInfo',
cts.jsonPropertyValueQuery(
'CustomerId',
'12345'
)
)
!
推荐阅读
- c - 在 C 中使用 sizeof 定义表格长度
- javascript - PHP如何在数字输入中使用openssl_encrypt
- javascript - 在 p5.Element 方法中传递参数
- tensorflow - 在 Tensorflow 中训练多个模型时如何避免过多的内存使用
- r - 如何用最接近的两个值的平均值替换 NA
- c# - 使用 FluentFTP 通过 TLS/SSL 向/从 FTP 服务器传输时,“身份验证失败,因为远程方已关闭传输流”
- python - 为什么当我们为列表列表中的每个列表列出列表的所有元素时,我们需要在 for in 子句中使用特定的顺序?
- kubernetes - 意外覆盖了默认的集群管理员角色
- jsf - 浏览器不解释 JSF 标记
- java - 在这种情况下,如何根据单击的单选按钮检索数值?