0

facets( fc=Type, Topic, Year, Editor)のように配置する必要があります

ただし、ファセットの順序は、名前の概念に基づいていますEditor, Topic, Type, Year(名前の昇順で並べられています)。

どのような方法で注文すればよいですか?

4

1 に答える 1

0

ファセットを注文する解決策を見つけました:

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を使用して、指定された順序で並べ替えます。

于 2013-04-25T12:55:57.873 に答える