【问题标题】:How to Order Facets?如何订购刻面?
【发布时间】:2013-04-10 13:58:31
【问题描述】:

我需要安排facets为(fc=Type, Topic, Year, Editor)

但构面的顺序是基于命名概念Editor, Topic, Type, Year(按名称升序排列)

我应该用什么方式订购?

【问题讨论】:

  • 您是否在询问如何使用应用程序生成器订购它们?使用 MarkLogic 可视化小部件的其他类型的应用程序?
  • 是的,我需要 appln builder。

标签: xquery marklogic


【解决方案1】:

我找到了排序方面的解决方案:

declare variable $par as element() :=  <params xmlns="http://www.marklogic.com/apa/params">
<fc>Type,Topic,Year,Editor</fc>
<start>0</start>
<rows>10</rows>
<debug>false</debug>
<results>true</results>
<facet>true</facet> 
</params>;

let $data := "xml data in search:search format"
let $spans := xs:string($params/p:fc)              
let $value := fn:tokenize($spans,",")
let $fc := for $x in $value
           return $val
let $facet := $data/search:facet
let $facets := for $facetValue in $facet
               let $label := fn:string($facetValue/@name)
               let $value := fn:tokenize($label,"L")
               order by fn:index-of($fc, $value)
               return $facetValue
return $facets

现在,在$spans 中,我们得到用户给出的构面值,并使用$data 获得数据中的构面值。然后通过使用变量$facets,我们按照指定的顺序排列它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-03
    • 2013-08-02
    • 2019-01-13
    • 1970-01-01
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多