ページの先頭行へ戻る
Big Data Integration ServerV1.4.0 検索編アプリケーション開発ガイド
FUJITSU Software

3.5.3 複数のキー指定でソートする

XML文書中の複数の要素ノードまたはその要素ノードの属性ノードの値でソートすることができます。ソート式に“,”で区切って複数のキー指定を指定します。それぞれのキー指定は、数値でも文字列でもかまいません。

複数のキー指定を指定することで、検索するXML文書を属性ノード1の値の昇順に並べ、もし属性ノード1の値が同じであった場合は、属性ノード2の値の昇順に並べるといったソートが可能になります。

キー指定は8個まで指定できます。


例として以下の文書があるものとします。


文書A

<doc>
  <basic date="2006年03月03日" expense="7650円">
    :
  </basic>
    :
  <detail>
    :
    <hotel>9600円</hotel>
    :
  </detail>
</doc>

文書B

<doc>
  <basic date="2006年03月03日" expense="11500円">
    :
  </basic>
    :
  <detail>
    :
    <hotel>8900円</hotel>
    :
  </detail>
</doc>

文書C

<doc>
  <basic date="2006年03月10日" expense="7650円">
    :
  </basic>
    :
  <detail>
    :
    <hotel>14090円</hotel>
    :
  </detail>
</doc>

例1

出張日(date)の順で、同じ出張日(date)である場合は宿泊費(hotel)が高い順(降順)となるようにソートします。

/doc/basic/@date,val(/doc/detail/hotel/text()) DESC

結果:文書A、B、Cの順に返却されます。


例2

出張日(date)の順で、同じ出張日(date)である場合は出張費用(expense)が高い順(降順)となるようにソートします。

/doc/basic/@date,val(/doc/basic/@expense) DESC

結果:文書B、A、Cの順に返却されます。