Jeśli spojrzeć na blogpost tutaj: http://azure.microsoft.com/blog/2015/01/27/performance-tips-for-azure-documentdb-part-2/
Polityka Indeksowanie Tip # 3: Określ ścieżkę indeksu zakres typ dla wszystkich ścieżek używany w zapytaniach dotyczących zakresu
DocumentDB obsługuje obecnie dwa typy ścieżek indeksu: Hash i Range. Wybór typu ścieżki indeksu dla opcji Wstrzymywanie powoduje, że zapytania o efektywność równości są dostępne pod następującymi adresami: . Wybierając typ indeksu of Range umożliwia zapytań zakresie (za pomocą >, <, >=, <=)
.
Daje przykład w C#, aby dodać zakres indeksów, aby ścieżka porównywalne, ale nie ma podobną funkcjonalność w node.js library.
When tworzenia kolekcji, można zdać IndexingPolicy poprzez parametr treści. IndexingPolicy
ma kilka elementów. Jednym z nich jest IncludedPaths, gdzie można zdefiniować indeksów.
var policy = {
Automatic: true,
IndexingMode: 'Lazy',
IncludedPaths: [
{
IndexType: "Range",
Path: "path to be indexed (c.lat)",
NempericPrecission: "1",
StringPrecission: "1"
}
],
ExcludedPaths: []
}
client.createCollection(
'#yourdblink',
{
id: 10001,
indexingPolicy: policy
});
Czy możesz wysłać próbkę danych, których dotyczy zapytanie? Zgaduję, że users.lat nie jest czymś, co jest porównywalne. Jesteś pewien, że to nie są struny? –
{ "ac": -65,6583190150559, "lon": -74,98864685185254, "wiek": 45,79291892424226, "cat": 32, "id" "f6a82cae-8f57-a9a4-d741-6c9054b2c4ec" } – user2402622
, które nie są indeksowane zakresami? może powinienem dodać specjalne opcje? Używam nodejs require ('documentdb'). DocumentClient, opcje: {masterKey: {authKey}} – user2402622