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

时间:2019-04-12 16:37:48

标签: marklogic marklogic-9 marklogic-dhf

MarkLogic:9.0-6.2

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

"CustomerInfo": {
  "IdInfo": {
     "CustomerId":"12345"
  }, 
  "PartyRltp": {
      "CustomerId":"45678"
  }
}

我需要基于CustomerId在特定路径CustomerInfo.IdInfo.CustomerId上搜索文档

因此,如果我搜索“ 12345”,则应返回上述文档。但是,如果我搜索“ 45678”,则不应返回上述文档。

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

谢谢!

1 个答案:

答案 0 :(得分:2)

我认为您正在寻找cts.jsonPropertyScopeQuery

cts.jsonPropertyScopeQuery(
  'IdInfo',
  cts.jsonPropertyValueQuery(
    'CustomerId',
    '12345'
  )
)

HTH!