Создание универсального API поиска с помощью Spring и CouchBase

У меня есть вариант использования, когда я хочу создать общий поисковый API, идея состоит в том, чтобы иметь много фильтров во внешней части, и у пользователя будет возможность использовать 0 или более фильтров, так что, скажем, у нас есть такой объект, как

public class Person {
  public String name;
  public String age;
  // som other properties 
}

поэтому в веб-интерфейсе я хочу отправить searchCriteria, например

[{
   field: name,
   operator: eq,
   value: XX
}]

Проблема в том, что я не могу найти хороший способ сопоставить searchCriteria, который будет использоваться в crudRepository.

so:

  1. Есть ли способ сделать это, не создавая службу, которая создает запрос и выполняет его вручную?

  2. Есть ли что-нибудь вроде QueryDSL, поддерживающее CouchBase репозитории?

Я использую Spring boot и CouchBase

Спасибо


person Moustafa Ghoniem    schedule 21.05.2020    source источник
comment
Не думаю, что диван - хорошая идея для такого рода требований. Couchbase много откликается на индексацию. Вам нужно будет создать первичный индекс, который означает, что индекс по всем столбцам может снизить производительность ур.   -  person Ishant Gaurav    schedule 22.05.2020
comment
к сожалению, мне приходится использовать CouchBase по другим причинам.   -  person Moustafa Ghoniem    schedule 23.05.2020


Ответы (1)


spring-data-couchbase поддерживает querydsl -

https://www.baeldung.com/rest-api-search-language-spring-data-querydsl

person mn_test347    schedule 04.08.2020
comment
Ссылка на решение приветствуется, но убедитесь, что ваш ответ полезен и без нее: добавьте контекст вокруг ссылки, чтобы другие пользователи иметь некоторое представление о том, что это такое и почему он существует, а затем процитировать наиболее релевантную часть страницы, на которую вы ссылаетесь, на случай, если целевая страница недоступна. Ответы, которые представляют собой не более чем ссылку, могут быть удалены. - person Marco Bonelli; 05.08.2020