链接如下:- https://www.aerospike.com/blog/spring-data-for-aerospike/
我们有以下示例实体:-
@Document(collection = "cust", expiration = 90, expirationUnit = TimeUnit.DAYS)
public class Customer {
@Id
@Field(value = "PK")
private String custId;
@Field(value = "mobileNumber")
private String mobileNumber;
@Field(value = "creationTime")
private String creationTime;
@Field(value = "custType")
private String custType;
}
使用 Spring 存储库,我们使用以下方法:-
// 工作
List<Customer> findByMobileNumber (String mobileNumber);
// 失败,201 ERR INNDEX NOT FOUND。
List<Customer> findByMobileNumberAndCustType (String mobileNumber, String customerType);
事实/观察:-
1.) 我们没有在我们的 aerospike-set 上创建任何明确的二级索引。
2.) 当我们使用 AQL 查询(select * from test.cust where mobileNumber = '981XXXXXXX')相同的记录时,它失败给我们一个 Indices not found 的错误。
疑虑/问题:-
a.) 第一种方法是如何工作的?它执行的内部方式是什么?查询完成后是否有任何即时创建并被冲走的二级索引?
b.) 为什么第二个失败了?
任何回应都将受到高度赞赏!