Marklogic-跨文档检索XML元素的不同值

时间:2017-02-13 17:51:52

标签: marklogic marklogic-8

我们正在构建一个以ML作为后端数据库的企业应用程序。其中一个要求是在各种文档中查找XML中特定元素的不同值。

我可以使用结构化查询/组合查询

获取不同的entity_type

以下所有文件均为实体收藏的一部分:

文件1

<xml>
    <entities>
        <entity_name>Imprezza</entity_name>
        <entity_type>Car</entity_type>
        <entity_color>Red</entity_color>
    <entities>
<xml>

文件2

<xml>
    <entities>
        <entity_name>Ducati</entity_name>
        <entity_type>Bike</entity_type>
        <entity_color>White</entity_color>
    <entities>
<xml>

文件3

<xml>
    <entities>
        <entity_name>Lancia</entity_name>
        <entity_type>Car</entity_type>
        <entity_color>Red</entity_color>
    <entities>
<xml>

文件4

<xml>
    <entities>
        <entity_name>Scania</entity_name>
        <entity_type>Truck</entity_type>
        <entity_color>Black</entity_color>
    <entities>
<xml>

要求:在集合中为我提供所有不同的entity_type

结果:汽车,自行车,卡车

P.S:需要在Java层中获得结果。我们目前有一个API,它根据输入生成MarkLogic组合查询(结构化查询+选项查询)。 我可以使用结构化查询/组合查询来获取不同的实体吗?

1 个答案:

答案 0 :(得分:4)

您可以使用词典(基于上面没有空格)来完成此操作 https://docs.marklogic.com/guide/search-dev/lexicon

OR

您可以使用每个值的范围索引执行此操作。 https://docs.marklogic.com/guide/admin/range_index

在任何一种情况下,您都可以通过值REST端点检索值。 https://docs.marklogic.com/REST/GET/v1/values/[name]

我相信一旦你的词典或范围索引到位,就会有java API解决方案。