Couchbase не может видеть вторичный индекс - PullRequest
0 голосов
/ 06 декабря 2018

Я создал индекс для моей корзины по умолчанию:

CREATE INDEX queryIndex on default (customerId, orderState, locationId, timestamps.lastUpdatedDateTime) USING GSI; 

Вот мой запрос:

SELECT orderId FROM default WHERE orderState="Open" and DATE_DIFF_STR(CLOCK_LOCAL(),MILLIS_TO_STR(timestamps.lastUpdatedDateTime),'day') > 10;

По какой-то причине Couchbase не может найти индекс.Он просит меня создать его.Может кто-нибудь сказать мне, что я делаю не так?

1 Ответ

0 голосов
/ 06 декабря 2018

Система не может использовать этот индекс для этого запроса, поскольку поля в предложении WHERE не являются ведущими полями в индексе.Кроме того, если вы хотите использовать этот индекс в качестве покрывающего индекса (то есть дополнительные выборки полного документа не нужны), все поля, которые вы упоминаете в запросе, должны быть включены в индекс.

The *Предикат 1003 * выглядит как место для начала.Переместить orderState в начало полей, перечисленных в указателе.

...