对现有存储库数据进行索引编制

时间:2018-11-20 14:57:50

标签: spring redis jedis spring-data-redis reddison

我在Redis中的数据下面,并且我将Address作为模型类,具有两个字段streetcity。我有在@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;
}

现在,除非我不对重做的实际数据加上 索引 ,否则List<Employee> findByAddresses_City(String city);不会获取结果。

我该怎么做?我无法清除现有数据并创建新数据。有任何快速帮助吗?

enter image description here

参考:https://jira.spring.io/browse/DATAREDIS-894

0 个答案:

没有答案