Couchbase фильтрация по полю не в индексе - PullRequest
1 голос
/ 08 марта 2019

Я создал этот индекс:

CREATE INDEX `idx_orders` ON 
`order`(
distinct(
 ARRAY (s.dateTime) FOR s IN additionalStatus 
WHEN ((s.statusTypeCode = 'LOGISTICAL') AND (s.statusCode = 'CANCELLED' OR s.statusCode = 'TREATED')) END 
)
)

, когда я выполняю этот запрос:

SELECT META(`order`).id FROM `order`
where ANY s in additionalStatus SATISFIES ( s.dateTime < 297798785) AND ((s.statusTypeCode = 'LOGISTICAL') AND (s.statusCode = 'CANCELLED' OR s.statusCode = 'TREATED'))  END

нет индекса, и я получаю эту ошибку:

Нет индекса для порядка ключей, соответствующего вашему запросу.Используйте CREATE INDEX или CREATE PRIMARY INDEX, чтобы создать индекс, или проверьте, что ваш ожидаемый индекс находится в сети

, но когда я добавляю это, где предложение AND orderCategory! = 'CA1' я получаю результаты

Я думаю, что некоторые старые версии моего индекса (с тем же именем), содержащие поле orderCategory, все еще существуют и не удаляются, даже если я удаляю индекс и воссоздаю его.

...