Вариант использования: при поиске «MAYUR» результаты появляются в поиске, но если я ищу «MAY» или «MA», результатов нет. Я реализовал поиск, который выполняет поиск по startWith("MAY%"). Я использую версии кушетки 4.6.3-4136-E.
Сообщение об ошибке выглядит следующим образом:
org.springframework.data.couchbase.core.CouchbaseQueryExecutionException:
Невозможно выполнить запрос из-за следующих ошибок n1ql:
{"msg":"Индекс не найден - причина: queryport.indexNotFound","code": 12016}
{"msg":"Индекс не найден - причина: queryport.indexNotFound","code":12016}
{"msg":"Индекс не найден - причина: queryport.indexNotFound","code ":12016}
{"msg":"Индекс не найден - причина: queryport.indexNotFound","code":12016}
Версия Java SDK: 2.5.5
Периодически сталкиваюсь с этой проблемой.
Код для запуска запроса
public <T> PageImpl<T> runQuery(final Statement statement, final Expression expression, final String alias,
final Pageable pageable, final Class<T> tClazz) {
PageImpl<T> tPage = null;
try {
CompletableFuture<List<T>> entityFuture = CompletableFuture
.supplyAsync(() -> findByN1QLProjection(statement, tClazz)).exceptionally(th -> {
logger.write(new Exception(th.getMessage(), th));
return Collections.emptyList();
});
CompletableFuture<Long> countFuture = CompletableFuture.supplyAsync(() -> doCount(expression, alias))
.exceptionally(th -> {
logger.write(new Exception(th.getMessage(), th));
return 0L;
});
CompletableFuture.allOf(entityFuture, countFuture).get();
tPage = new PageImpl<>(entityFuture.get(), pageable, countFuture.get());
} catch (final InterruptedException | ExecutionException ex) {
logger.write(ex);
tPage = new PageImpl<>(Collections.emptyList(), pageable, 0);
}
return tPage;
}