2017-04-07 5 views
1

ドキュメントには、Strings、Numbers、DateTimesなどの異なる種類のプロパティを持つコレクションがあります。DocumentDb内のドキュメントの同じフィールドに異なるインデックスタイプ

そして、私が持っているインデックスのポリシー次のようにされています。今、私が欲しいものだけでなく文字列フィールド上のレンジタイプのインデックスを追加することにある

{ 
    "indexingMode": "consistent", 
    "automatic": true, 
    "includedPaths": [ 
    { 
     "path": "/*", 
     "indexes": [ 
     { 
      "kind": "Range", 
      "dataType": "Number", 
      "precision": -1 
     }, 
     { 
      "kind": "Hash", 
      "dataType": "String", 
      "precision": 3 
     } 
     ] 
    } 
    ], 
    "excludedPaths": [] 
} 

。 だから私は次のように私のインデックスポリシーを編集した:

{ 
    "indexingMode": "consistent", 
    "automatic": true, 
    "includedPaths": [ 
    { 
     "path": "/*", 
     "indexes": [ 
     { 
      "kind": "Range", 
      "dataType": "Number", 
      "precision": -1 
     }, 
     { 
      "kind": "Hash", 
      "dataType": "String", 
      "precision": 3 
     }, 
     { 
      "kind": "Range", 
      "dataType": "String", 
      "precision": 20 
     } 
     ] 
    } 
    ], 
    "excludedPaths": [] 
} 

しかし、それは動作しませんでした:(

私は複数のタイプのインデックスがフィールドで追加することができます知っている誰もがそれを行うにはどのように任意のアイデアを持っていることができ

。?
+0

「それは動作しませんでした」「範囲問合せまたはOrder By問合せを実行しますか?何がうまくいかなかったか教えていただけますか? –

+0

私は注文を行う必要がありました。そのため、String型にRange型のインデックスを追加しました。しかし、この1つは空白のサーバーでも検証されていません。これをインデックスポリシーとして送信すると、エラーが表示されます。 @ FredHan-MSFT –

答えて

1

指定されたパスのインデックスタイプ(ハッシュまたは範囲)は1つしか指定できません。また、範囲はサポートされているクエリに関しては、ハッシュのスーパーセットです。照合による等価、範囲、および順序

これで、Hash on StringのJSONブロックを削除するだけで済みます。

{ 
    "indexingMode": "consistent", 
    "automatic": true, 
    "includedPaths": [ 
    { 
     "path": "/*", 
     "indexes": [ 
     { 
      "kind": "Range", 
      "dataType": "Number", 
      "precision": -1 
     }, 
     { 
      "kind": "Range", 
      "dataType": "String", 
      "precision": 20 
     } 
     ] 
    } 
], 
    "excludedPaths": [] 
} 
+0

私はそれが動作することを知っています。しかし、問題はRangeインデックスの平等がハッシュインデックスのように速くないことです。それがRangeとHashタイプの両方のインデックスを追加しようとしていた理由です。 –

+0

Rangeの問題は、ARRAY_CONTAINSがインデックスを使用しなくなったことです。あなたはそれの回避策を見つけましたか? –

関連する問題