Индексный массив в CosmosDB - PullRequest
1 голос
/ 13 мая 2019

Я пытаюсь проиндексировать свой массив Dogs в Cosmos DB, но добавление индекса в раздел политики индексирования на портале Azure совсем не меняет стоимость. Я прочитал их политику индексации, и да, они говорят, что по умолчанию все поля индексируются, а для списков / сложных объектов поля внутри тоже индексируются ... но так ли это?

{
    "indexingMode": "consistent",
    "automatic": true,
    "includedPaths": [
        {
            "path": "/*",
            "indexes": [
                {
                    "kind": "Range",
                    "dataType": "Number",
                    "precision": -1
                },
                {
                    "kind": "Range",
                    "dataType": "String",
                    "precision": -1
                },
                {
                    "kind": "Spatial",
                    "dataType": "Point"
                }
            ]
        },
        {
            "path": "/Dogs/[]/?",
            "indexes": [
                {
                    "kind": "Range",
                    "dataType": "String",
                    "precision": -1
                },
                {
                    "kind": "Range",
                    "dataType": "Number",
                    "precision": -1
                }
            ]
        }
    ],
    "excludedPaths": [
        {
            "path": "/\"_etag\"/?"
        }
    ]
}

Добавление второго пути должно охватывать конкретно мой список объектов, но это изменение никак не отражается на стоимости запросов.

Возможно ли, что изменение займет время и индекс не будет отражаться мгновенно, но через пару часов? БД довольно толстая, более 100 тыс. Записей.

РЕДАКТИРОВАТЬ: Кажется, что созданный индекс принес некоторые улучшения для запроса (добавлен путь к исключенным путям, чтобы проверить разницу, и это видно)

Ответы [ 2 ]

0 голосов
/ 14 мая 2019

Кажется, что индекс создан и вносит некоторые улучшения в запрос (добавлен путь к исключенным путям, чтобы проверить разницу, и он виден), поэтому я думаю, что список действительно индексируется по умолчанию.

0 голосов
/ 13 мая 2019

Как вы, наверное, поняли, ответ таков: «Да, они индексируются по умолчанию, поэтому вы не увидите никакой разницы, если конкретно их индексировать».

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

...