如何基于元素的关联值或MarkLogic中的其他属性按属性进行选择性排序

时间:2019-03-15 13:15:05

标签: marklogic marklogic-8

要求:

  1. 直接通过索引解析,不想打开文档(因此,不考虑FLOWR表达式)。

  2. 搜索结果返回采购订单文档列表

  3. 采购订单可能有或没有订单项(出于示例目的)

  4. 一个采购订单可能有数千个订单项,每个订单项的类型不同
  5. 一种类型只有一个行项目(采购订单中没有重复项)
  6. 用于排序:    基于用户在搜索时选择的多种类型之一(有时是椅子和有时是灯等)。    根据仅针对特定类型的金额排序(例如:椅子)

示例文档1:

<purchase-order>
  <line-items>
    <line-item type="lamp"  amount="3500"></line-item>
    <line-item type="couch"  amount="50000"></line-item>
    <line-item type="chair"  amount="40000"></line-item>
  </line-items>
 <other-stuff></other-stuff>
</purchase-order>


Sample document 2:

<purchase-order>
  <line-items>
  <line-item type="couch"  amount="10000"> </line-item>
  <line-item type="chair"  amount="80000"></line-item>
 </line-items>
 <other-stuff></other-stuff>
</purchase-order>   

预期结果顺序:

  • 请求按椅子类型的desc量对文档进行排序应返回doc 2和1的顺序
  • 请求按沙发类型按desc量对文档进行排序应返回doc 1和2的顺序

0 个答案:

没有答案