Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Индексирование в Cosmos DB предназначено для обеспечения быстрой и гибкой производительности запросов, независимо от того, как развиваются данные. Изучите эти примеры политик индексирования, чтобы узнать, как настроить индексирование для рабочей нагрузки в Cosmos DB. Каждый пример демонстрирует другой способ управления индексированием свойств, способом и почему.
Индексировать все свойства (по умолчанию)
Эта политика индексирует каждое свойство в каждом элементе, которое является поведением по умолчанию. Она обеспечивает максимальную гибкость запросов.
{
"indexingMode": "consistent",
"includedPaths": [ { "path": "/*" } ],
"excludedPaths": []
}
Исключение свойства из индексирования
Эта политика индексирует все свойства, кроме определенного свойства, уменьшая затраты на хранение и запись, если вам не нужно запрашивать это свойство.
{
"indexingMode": "consistent",
"includedPaths": [ { "path": "/*" } ],
"excludedPaths": [ { "path": "/nonIndexedProperty/?" } ]
}
Индексировать только определенные свойства
Эта политика выполняет индексирование только указанных свойств, что может повысить производительность записи и уменьшить объем хранилища, если запрашивать только подмножество данных.
{
"indexingMode": "consistent",
"includedPaths": [
{ "path": "/name/?" },
{ "path": "/address/city/?" }
],
"excludedPaths": [ { "path": "/*" } ]
}
Использование диапазонов и пространственных индексов
Эта политика демонстрирует использование различных типов индексов для различных свойств, таких как индексы диапазона для чисел и пространственных индексов для геопространственных данных.
{
"indexingMode": "consistent",
"includedPaths": [
{
"path": "/location/?",
"indexes": [
{ "kind": "Spatial", "dataType": "Point" }
]
},
{
"path": "/age/?",
"indexes": [
{ "kind": "Range", "dataType": "Number", "precision": -1 }
]
}
],
"excludedPaths": [ { "path": "/*" } ]
}
Использование составных индексов
Эта политика добавляет составной индекс для оптимизации запросов, которые фильтруют или сортируют несколько свойств вместе.
{
"indexingMode": "consistent",
"includedPaths": [ { "path": "/*" } ],
"excludedPaths": [],
"compositeIndexes": [
[
{ "path": "/category/?", "order": "ascending" },
{ "path": "/timestamp/?", "order": "descending" }
]
]
}
Отключение индексирования
Эта политика отключает индексирование для контейнера, что полезно для рабочих нагрузок с высокой нагрузкой на запись, в которой не требуется запрашивать данные.
{
"indexingMode": "none"
}
Политика индексирования векторов
Эта политика позволяет индексировать векторы /vector
на свойстве, что позволяет эффективно выполнять поиск сходства с использованием косинусного расстояния на трехмерных float32
векторах.
{
"vectorEmbeddings": [
{
"path": "/vector",
"dataType": "float32",
"distanceFunction": "cosine",
"dimensions": 3
},
]
}
Политика полнотекстового индексирования
Эта политика настраивает /text
свойство для полнотекстового поиска с помощью анализа английского языка, что позволяет эффективно выполнять поиск текста.
{
"defaultLanguage": "en-US",
"fullTextPaths": [
{
"path": "/text",
"language": "en-US"
}
]
}
Полнотекстовое индексирование с исключенным системным свойством
Эта политика обеспечивает полнотекстовый индексирование свойства /text
при исключении системного свойства _etag
из индексирования.
{
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*"
}
],
"excludedPaths": [
{
"path": "/\"_etag\"/?"
},
],
"fullTextIndexes": [
{
"path": "/text"
}
]
}
Полнотекстовое индексирование для нескольких свойств
Эта политика обеспечивает полнотекстовое индексирование свойств /text1
и /text2
с использованием анализа английского языка, что позволяет эффективно выполнять текстовые запросы поиска по нескольким полям.
{
"defaultLanguage": "en-US",
"fullTextPaths": [
{
"path": "/text1",
"language": "en-US"
},
{
"path": "/text2",
"language": "en-US"
}
]
}
Пример полнотекстовой и векторной политики гибридного поиска
Эта политика объединяет полнотекстовый и векторный индексирование для обеспечения гибридных возможностей поиска, что позволяет эффективно выполнять запросы сходства текста и векторов в одном контейнере.
{
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*"
}
],
"excludedPaths": [
{
"path": "/\"_etag\"/?"
},
{
"path": "/vector/*"
}
],
"fullTextIndexes": [
{
"path": "/text"
}
],
"vectorIndexes": [
{
"path": "/vector",
"type": "DiskANN"
}
]
}