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

问题描述 投票:1回答:1

MarkLogic:9.0-6.2

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

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

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

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

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

提前致谢!

marklogic marklogic-9 marklogic-dhf
1个回答
3
投票

我想你正在寻找cts.jsonPropertyScopeQuery

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

HTH!

© www.soinside.com 2019 - 2024. All rights reserved.