ここでは、レコードのグローバル・ソート順序について説明します。
レコードがデータ・ドメインに追加されると、Oracle Endeca Serverはレコードのデータ・ファイルをメモリーに維持します。Oracle Endeca Serverが問合せに対するレスポンスで返す結果内のレコードのソート方法には、次のルールが適用されます。
- レコードは、指定したソート順序に従ってソートされます(存在する場合)。
- ソート順序を指定した場合でも、結果のレコード順序が一意に決定しない場合があります。通常、この状況は、一部のレコードの違いがソートの仕様に含まれなかった属性のみにある場合に発生します。このような場合、Dgraphプロセスはソート結果の均衡をランダムに破ります。
- リクエスト間でレコードになんらかの変更が行われないかぎり、同じ問合せでの後続のリクエストは同じ順序になります(タイブレークは一貫します)。たとえば、いずれかのレコードを削除し、それらをデータ・ドメインに再び追加した場合は、それらが同一であっても順序は変更されます。
ソートされたレコード結果リストがリクエストされると、文字列値は大/小文字を区別せずにソートされ、順位が同じ場合は大/小文字の比較で均衡が破られます(大文字は小文字より上にランクされます)。たとえば、
A、
B、
C、
a、
b、
cという6つのレコードでは、結果のソート順序は次のようになります。
A
a
B
b
C
c