Развитие индексации на существующих данных репозитория - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть данные ниже в Redis, и я Address как класс модели, который имеет два поля street и city.У меня есть данные, которые имеют @Indexed в street полях, а redis содержит только индексированные данные на улице.Теперь я хочу применить @Indexed к данным, присутствующим в данных Redis.Как я могу это сделать?

127.0.0.1:6379> KEYS *
    1) "employees:d15be3e8-7662-40bb-ac4e-7b000e6391ec"
    2) "employees:d15be3e8-7662-40bb-ac4e-7b000e6391ec:idx"
    3) "employees:id:d15be3e8-7662-40bb-ac4e-7b000e6391ec"
    4) "employees"
    5) "employees:addresses.street:ABC Street"
    6) "employees:addresses.street:XYZ Street"

В модельном классе я применил @Indexed к city, теперь моё моделирование становится таким:

Address.java

@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Address {
    @Indexed
    private String street;
    @Indexed
    private String city;
}

Employee.java

@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@RedisHash("employees")
public class Employee {
    @Id @Indexed
    private String id;
    private String firstName;
    private String lastName;
    private List<Address> addresses;
}

Теперь, если я не добавлю индексирование на фактические данные Redis, List<Employee> findByAddresses_City(String city); не делаетt получает результат.

Как я могу это сделать?Я не могу стереть существующие данные и создать новые.Любая быстрая помощь?

enter image description here

Ссылка: https://jira.spring.io/browse/DATAREDIS-894

...