DocumentDB: Eliminar la indexación predeterminada
Estoy tratando de eliminar los índices predeterminados que se crean para una nueva colección:
{
"indexingMode": "lazy",
"automatic": true,
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"kind": "Range",
"dataType": "Number",
"precision": -1
},
{
"kind": "Hash",
"dataType": "String",
"precision": 3
}
]
},
{
"path": "/\"_ts\"/?",
"indexes": [
{
"kind": "Range",
"dataType": "Number",
"precision": -1
},
{
"kind": "Hash",
"dataType": "String",
"precision": 3
}
]
}
],
"excludedPaths": []
}
Según tengo entendido, esto indexará cada atributo en cada recurso y sus subrecursos.
Al intentar excluir todo usando esto:
collection.IndexingPolicy.ExcludedPaths.Add(new ExcludedPath
{
Path = "/*"
});
client.ReplaceDocumentCollectionAsync(collection).Wait();
Me sale el siguiente error enReplaceDocumentCollectionAsync()
:
No se pudo aceptar la ruta de indexación '/ *'. Asegúrese de que la ruta sea única en todos los conjuntos de rutas de indexación y que sea válida.
Quiero poder definir mis propias rutas de índice personalizadas. Para hacer esto, necesito eliminar los índices predeterminados (que indexan todo).
ACTUALIZARHe eliminado el índice asignando las inclusiones a una colección vacía Y excluyendo todas las rutas:
collection.IndexingPolicy.IncludedPaths = new Collection<IncludedPath>();
collection.IndexingPolicy.ExcludedPaths = new Collection<ExcludedPath>();
collection.IndexingPolicy.ExcludedPaths.Add(new ExcludedPath
{
Path = "/*"
});
Nota 1: Por alguna razón, si solo hace la primera declaración, nada cambia en la política de índice ... y sin error.
Nota 2: ExcludePaths
tiene que establecerse inicialmente en una colección vacía o de lo contrario (si la ruta ya existe) detectará el conflicto y arrojará un error (al hacer un ReemplazarDocumentoColecciónAsync, por supuesto).
Documento de indexación:
{
"indexingMode": "lazy",
"automatic": true,
"includedPaths": [
{
"path": "/\"_ts\"/?",
"indexes": [
{
"kind": "Range",
"dataType": "Number",
"precision": -1
},
{
"kind": "Hash",
"dataType": "String",
"precision": 3
}
]
}
],
"excludedPaths": [
{
"path": "/*"
}
]
}
Supongo que el/_ts/?
El camino es obligatorio.