5

次のように、最初の子要素に PathRangeIndex を持つ要素DateTimeListがあります。

/ResultPage/DateTimeList/DateTime[1]

通常、次のように属性を使用して要素を並べ替えます。

<sort-order type="xs:string" direction="ascending">
    <element ns="" name="div"/>
    <attribute ns="" name="order"/>
</sort-order>

最初の子要素を使用して(path-range-indexを使用して)DateTimeList要素をソートする同様の方法はありますか?私は次のように試しました:

<sort-order direction="ascending" type="xs:dateTime">
   <path-index>/ResultPage/DateTimeList/DateTime[1]</path-index>
</sort-order><sort-order><score/></sort-order></state></operator>

しかし、次のように変更なしで結果が得られました。

<DateTimeList>
   <DateTime>2014-05-07T10:26:00</DateTime>
</DateTimeList>
<DateTimeList>
   <DateTime>2013-12-01T00:00:00</DateTime>
   <DateTime>2014-05-01T00:00:00</DateTime>
   <DateTime>2014-12-01T00:00:00</DateTime>
</DateTimeList>
<DateTimeList>
   <DateTime>2013-09-01T10:32:42</DateTime>
</DateTimeList>
<DateTimeList>
   <DateTime>2014-05-30T00:00:00</DateTime>
   <DateTime>2015-05-30T00:00:00</DateTime>
</DateTimeList >

ありがとう。

4

2 に答える 2

0

問題を再現するのに十分な情報がここにはありませんが、これらのDateTimeList要素はすべて同じ文書に含まれていますか? それとも、ドキュメントごとに複数のDateTimeList要素がありますか?

検索と並べ替えは、ほとんどの場合ドキュメント レベルで行われます。MarkLogic はドキュメント指向のデータベースです。したがって、インデックスはドキュメントを指し、RDBMS テーブルの行のように機能します。

その場合は、ドキュメントを分割することを検討してください。on を断片化し、onDateTimeListを追加することは技術的に可能です。しかし、私の経験では、最初から適切なレベルで文書を構成する方がよいということです。searchable-expression//DateTimeList

于 2013-09-25T18:26:21.637 に答える