#indexing #azure-cosmosdb
#индексирование #azure-cosmosdb
Вопрос:
Я использую единую коллекцию для всех своих документов, а затем создаю их экземпляры в POCO, используя свойство «type». Пока все идет отлично.
Теперь мне нужно добавить несколько возможностей сортировки.
Это не работает, и в нем говорится, что мне нужен составной индекс. Хорошо, я понимаю.
Но как мне создать Indexing policy
, когда он захочет paths
, который не будет существовать в некоторых типах документов или может существовать в нескольких типах документов?
Действительно ли мне нужно создавать коллекцию для каждого типа документа, чтобы это работало?
TIA
Ответ №1:
Он просто проигнорирует эти элементы. Также обратите внимание, что в то время как для составных индексов необходимо указывать пути для включения вместе с порядком их сортировки. Для обычного индекса обычно предпочтительнее включать все пути (т. Е. «/ *»), А Затем указывать эти пути для исключения. Таким образом, вам не нужно постоянно обновлять свою политику индексации при добавлении новых типов сущностей в свою коллекцию.
Также обратите внимание, что максимальное количество путей составного индекса для составного индекса равно 8 на контейнер. Также в настоящее время запросы будут использовать только один путь за раз, но это очень скоро изменится, чтобы использовать несколько путей одновременно, что значительно улучшит производительность запросов, которые их используют.
Комментарии:
1. Огромная помощь. Я изменил свой репозиторий, чтобы разрешить размещение документов в их собственном контейнере, что, как я знаю, может повлиять на возможности транзакций. Спасибо за подсказку 8. Таким
compositeIndexes
образом, массив может обрабатывать более 8 записей в нем, но внутри одного индекса может быть только 8 путей. Правильно ли я понимаю? Я не могу найти это в документах. Есть ли у вас шанс, что у вас есть ссылка? Помечаем это как ответ.2. Да, правильно, он может поддерживать только 8 путей на индекс. Но у вас могут быть сотни индексов. Да, задокументировано здесь . learn.microsoft.com/en-us/azure/cosmos-db/… Спасибо!