2016-02-01 3 views
1

Я пытаюсь использовать только индекс ExpireDate. Я написал следующий индекс. это правильно?documentdb индексирование для одного свойства

Если я делаю auto = false, я не могу запросить. Однако я обеспокоен тем, что, поскольку automatic = true, все свойства для всех уровней индексируются, чего я не хочу.

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

Какая ошибка возникает, когда вы устанавливаете значение false? Каков тип данных свойства ExpireDate? Последнее, что я помню, DocDB не поддерживает запросы диапазона дат-времени - хотя это могло измениться в последнее время. –

+0

Я сделал им unixdate время. Значит, на самом деле это длинные ценности. – Ahmet

ответ

2

Если ExpireDate - это число, то это верно. Если он представлен как строка, например. ISO-8601, вы хотите установить индекс в Range по строкам и номерам, т. Е. Как заглушка внизу. Обратите внимание, что это конфигурация

{ 
     "path": "/ExpireDate/?", 
     "indexes": [ 
     { 
      "kind": "Range", 
      "dataType": "Number", 
      "precision": -1 
     }, 
     { 
      "kind": "Range", 
      "dataType": "String", 
      "precision": -1 
     } 
     ] 
} 

В большинстве случаев автоматический режим должен быть установлен как истинный. Он указывает, должны ли документы быть проиндексированы по умолчанию или нет. Если это неверно, вам необходимо передать IndexingDirective.Include явно указывать время записи документа. Если для этого параметра установлено значение true, вам необходимо передать IndexingDirective.Exclude, чтобы явно исключить документ. Только пути, на которые распространяется правило выше (по умолчанию все, в данном случае ExpireDate) будут индексироваться независимо от автоматического true/false.

Смежные вопросы