Как создать индекс в Couchbase, чтобы перечислить все ключи?C#

Место общения программистов C#
Anonymous
Как создать индекс в Couchbase, чтобы перечислить все ключи?

Сообщение Anonymous »

Контекст:
Мы используем Couchbase 6.6.6-10576-enterprise в качестве хранилища значений ключей (мы храним только двоичные данные) и работаем над переходом на Redis (я выиграл не буду подробно объяснять причины, по которым мы делаем эту миграцию).
Наше приложение написано на C#, и мы используем CouchbaseNetClient NuGet версии 2.7.27 для взаимодействия с Couchbase.
Цель:
В контексте миграции мы хотим написать простой инструмент, который перебирает все ключи нашего экземпляра Couchbase, а затем записывает их (при условии, что значение, с которым они связаны, конечно) в Redis.
Проблема:
Насколько я понимаю, получить все ключи можно с помощью такого запроса:

Код: Выделить всё

SELECT META().id FROM `my-bucket` WHERE META().id > $key LIMIT 1000
Но когда я запускаю такой запрос, я получаю следующее сообщение об ошибке:

Код: Выделить всё

No index available on keyspace my-bucket that matches your query. Use CREATE INDEX or CREATE PRIMARY INDEX to create an index, or check that your expected index is online.
Если я не ошибаюсь, индекс можно создать с помощью этой команды:

Код: Выделить всё

CREATE PRIMARY INDEX `my-bucket-index` IF NOT EXISTS
ON META().id
Вопрос: каковы последствия создания такого индекса в производстве и является ли это подходящим подходом для решения нашей проблемы?

Подробнее здесь: https://stackoverflow.com/questions/791 ... l-the-keys

Вернуться в «C#»