如何使用 Java API 在 Marklogic 中搜索 XML 标签或 JSON 键
How to search an XML Tag or a JSON Key in Marklogic using Java API
我需要使用 Java API 在 Marklogic 数据库中搜索 XML 标签或 JSON 键,而不需要为 XML 标签指定任何元素值或 JSON 键值
如果您不想区分无命名空间元素和具有相同名称的 json-属性,您可以使用路径索引。否则使用字段。
如果您只想搜索元素的存在或 json-属性而不是特定值,您应该使用元素查询搜索约束:
http://docs.marklogic.com/search:search#opt-constraint
<element-query>
Specifies a constraint that restricts the search to the specified
element. You cannot create facets from an element-query constraint.
<options xmlns="http://marklogic.com/appservices/search">
<constraint name="sample-element-constraint">
<element-query name="title" ns="http://my/namespace" />
</constraint>
</options>
未针对 JSON 属性进行测试,但 MarkLogic 8 通常以相同的方式处理它们。
HTH!
在JavaAPI中,可以使用StructuredQueryBuilderclass的containerQuery()方法来匹配JSON属性或XML元素.
为包含的查询提供空的 and() 以匹配容器内的任何内容,如:
qb.containerQuery(qb.jsonProperty("name"), qb.and())
有关详细信息,请参阅:
如果您只想提取那些元素,您可以使用指定要从文档中提取哪些元素或属性的持久化查询选项:
http://docs.marklogic.com/guide/rest-dev/appendixb#id_18313
您可能希望使用 JSON 或 XML 句柄来使用搜索响应,而不是使用 SearchHandle class。
希望对您有所帮助
我需要使用 Java API 在 Marklogic 数据库中搜索 XML 标签或 JSON 键,而不需要为 XML 标签指定任何元素值或 JSON 键值
如果您不想区分无命名空间元素和具有相同名称的 json-属性,您可以使用路径索引。否则使用字段。
如果您只想搜索元素的存在或 json-属性而不是特定值,您应该使用元素查询搜索约束:
http://docs.marklogic.com/search:search#opt-constraint
<element-query>
Specifies a constraint that restricts the search to the specified element. You cannot create facets from an element-query constraint.
<options xmlns="http://marklogic.com/appservices/search"> <constraint name="sample-element-constraint"> <element-query name="title" ns="http://my/namespace" /> </constraint> </options>
未针对 JSON 属性进行测试,但 MarkLogic 8 通常以相同的方式处理它们。
HTH!
在JavaAPI中,可以使用StructuredQueryBuilderclass的containerQuery()方法来匹配JSON属性或XML元素.
为包含的查询提供空的 and() 以匹配容器内的任何内容,如:
qb.containerQuery(qb.jsonProperty("name"), qb.and())
有关详细信息,请参阅:
如果您只想提取那些元素,您可以使用指定要从文档中提取哪些元素或属性的持久化查询选项:
http://docs.marklogic.com/guide/rest-dev/appendixb#id_18313
您可能希望使用 JSON 或 XML 句柄来使用搜索响应,而不是使用 SearchHandle class。
希望对您有所帮助