【发布时间】:2018-09-13 08:18:10
【问题描述】:
我正在寻找使用 JavaScript 或 XQuery 在 MarkLogic 中通过 REST API 搜索调用仅提取部分 JSON 文档的方法。 我曾尝试使用 re extract-document-data 的查询选项,但没有成功。尝试使用 CTS.validextract 路径检查我的提取路径,但在 Marklogic 9.0-1 中无法识别该功能
我是否必须使用特定的搜索选项,例如约束或结构化查询。 你能帮忙吗? TIA。
我有下面这样的示例文档
{
"GenreType": {
"Name": "GenreType",
"LongName": "Genre Complex",
"AttributeDataType": "String",
"GenreType Instance Record": [
{
"Name": "GenreType Instance Record",
"Action": "NoChange",
"TitleGenre": [
"Test1"
],
"GenreL": [
"Test1"
],
"GenreSource": [
"ABC"
],
"GenreT": [
"Test1"
]
},
{
"Name": "GenreType Instance Record",
"Action": "NoChange",
"TitleGenre": [
"Test2"
],
"GenreL": [
"Test2"
],
"GenreSource": [
"PQR"
],
"GenreT": [
"Test2"
]
}
]
}
}
我需要在 GenreType 复杂属性中搜索具有属性“TitleGenre”WHERE GenreSource =“ABC”的文档。是json文档中的一个数组。
我使用的搜索选项如下,(在 XML 中编写搜索选项,但在 json 文档中搜索)
<extract-path>/GenreType/"GenreType Instance Record"[@GenreSource="ABC"]</extract-path>
我仍然面临这些问题。如果可能的话,您能否让我知道如何搜索 json 文档来满足此类特定要求? @瓦格纳迈克尔
【问题讨论】:
-
您能否编辑您的问题以共享查询选项,尤其是提取文档数据部分?还有你用来验证路径的代码 sn-p?
-
当然我补充。我正在旅行,所以代码 sn-p 不方便。
-
cts.validExtractPath 是在 MarkLogic 9.0-4 中引入的。如果您使用的是旧版本的 MarkLogic,则 cts.validIndexPath 是适当的路径检查器。
标签: javascript search xquery marklogic