2016-07-24 4 views
3

Die Dokumentation für documentDB legen nahe, dass es hier die automatische Indexierung bietet: https://azure.microsoft.com/en-us/documentation/articles/documentdb-indexing/Bietet DocumentDB automatische Indizierung oder nicht?

Aber den Beispielcode für sie (auf azur Portal) zeigt Erstellung manueller Index Politik wie folgt:

DocumentCollection collectionInfo = new DocumentCollection(); 
collectionInfo.Id = collectionName; 
// Configure collections for maximum query flexibility including string range queries. 
collectionInfo.IndexingPolicy = new IndexingPolicy(new RangeIndex(DataType.String) { 
    Precision = -1 
}); 

Wenn documentDB bietet Automatische Indizierung, warum muss ich dann die Index-Richtlinie manuell erneut erstellen?

Antwort

1

Es gibt einen standardmäßigen 3-Byte-Hash-Index für jedes Feld. Sie können die Indexierungsrichtlinie für bestimmte Felder/Typen mit den Indexierungsrichtlinieneinstellungen überschreiben. Wenn Sie Bereichsindizes verwenden oder die Genauigkeit des Indexes ändern möchten, tun Sie dies mit einer Richtlinie. Sie müssen einen Bereichsindex für jedes Feld festlegen, in dem Sie ORDER BY neben anderen gängigen Verwendungen verwenden möchten. Also, ja, beide Aussagen sind wahr. Es bietet eine automatische Indizierung, aber Sie können auch die Indizierung angeben.

+0

Ist Auto Indizierung Bereich Indizierung auf Strings enthalten? Wenn ja, muss ich die String-Index-Richtlinie nicht manuell festlegen. Bitte bestätigen. – Raghu

+0

Nein, tut es nicht. Es wird nur ein Hash-Index für Strings oder Zahlen erstellt. Sie müssen eine Indexierungsrichtlinie manuell festlegen. –

1

Ja, DocumentDB bietet Schema Agnostic, automatische Indexierung - impliziert, dass alle Pfade für jedes Dokument konsistent indiziert sind, über alle Arten von Schemaänderungen zwischen den Dokumenten.

Beachten Sie, dass die Standardrichtlinie auf Indexnummern mit Unterstützung für volle Genauigkeit festgelegt ist, während Zeichenfolgen mit einer Hashfunktion indiziert werden. Diese Standardwerte wurden ausgewählt, um eine überzeugende Abfrageleistung bei minimalem Speicheraufwand zu bieten.

Die Indizierung Politik ist für die Nutzer das Standardverhalten für die folgenden Fälle außer Kraft zu setzen -

  1. Opt von der Indizierung jeden bestimmten Pfad aus, als Teil der ausgeschlossenen Pfade. Dies hilft beim Reduzieren der RU-Ladung, die im Schreibpfad auftritt, und abhängig von der Anzahl der ausgeschlossenen Pfade kann dies auch zu Speichergewinnen führen.

  2. Optimieren Sie den Indextyp (Hash/Bereich/Räumlich) und die Genauigkeit der Indizierung (höhere Genauigkeit impliziert eine bessere Abfrageleistung mit leicht erhöhten Speicherkosten) für einen ausgewählten eingeschlossenen Indizierungspfad.

Alle Einzelheiten der Indexierungspolitik sind hier

https://azure.microsoft.com/en-us/documentation/articles/documentdb-indexing-policies/