Я пытаюсь получить один документ из кластера диванов. Однако N1QL отключен в кластере.
Я хотел узнать, есть ли способ получить документ из корзины без запроса N1QL. Я также не знаю идентификаторы документов.
Мне просто нужна возможность получить случайный документ (может быть любой документ) из всей корзины без использования идентификатора документа или запроса N1QL.
Есть ли в API JAVA SDK какой-либо метод, позволяющий мне это сделать? Я использую версию 2.7, однако любая версия, которая это делает, может помочь.
Я не думаю, что это действительно возможно с N1QL или какой-либо другой службой (например, полнотекстовым поиском или аналитикой) или без создания индекса карты/уменьшения. Знаете ли вы формат идентификаторов документов? Если бы они были просто целыми числами, вы, вероятно, могли бы делать случайные предположения, пока одно из них не сработает. В противном случае я просто не понимаю, как вы могли бы это сделать. Может быть, если бы вы объяснили почему, я мог бы предложить что-то еще?
Нет. У нас нет целочисленных идентификаторов документов. Точно тоже нельзя сказать. Мы пытаемся получить имена атрибутов документов, не выполняя полное сканирование таблицы, как в производственной среде, что приведет к большому количеству документов. Поскольку он не содержит схемы, мы пытаемся найти наиболее эффективный способ получения имен атрибутов. Мы знаем, что также будет потеря данных. Администратор базы данных сказал, что большинство кластеров вообще не поддерживают N1QL. Поэтому я и спросил, есть ли способ сделать это. Спасибо
Я имел в виду без N1QL в своем первом комментарии, кстати
Я думаю, что вам нужен инструмент
INFER
; это как раз предназначено для получения (случайной) выборки документов для вывода метаданных. Однако это особенность N1QL. docs.couchbase.com/server/current/n1ql/n1ql-language-reference/…Да. Таким образом, в наших кластерах Couchbase не установлен узел запроса. Вот почему мы не можем выполнять запросы N1QL на кластере.
Да, мы столкнулись с INFER. Однако, как вы сказали, это все еще запрос N1QL. Итак, есть ли способ сделать то же самое с SDK? Например, я могу перечислить сегменты в кластере с
listbuckets = cluster.clusterManager().getBuckets();
. Есть ли способ сделать то же самое для вывода или выбора случайных документов через сам SDK?Я не знаю ничего подобного без N1QL (или Analytics, или FTS, или представления карты/уменьшения)