我将哈希映射存储在 riak 存储桶中,如下所示:
bucket.store(key, docHashMap).execute();
我想用二级索引存储对象。
我将如何做到这一点?我知道IRiakObject
有一个addIndex
方法,但是在存储之前如何访问IRiakObject
它?
我认为我正在尝试做的是预期的用例,但我无法找到任何文档或示例。如果您能指出我将不胜感激的一个。
谢谢!
更新:
@Brian Roach 在 Riak 邮件列表及下方回答了这个问题。这是我编写的扩展 HashMap 的自定义类:
class DocMap extends HashMap<String, Object> {
/**
* Generated id
*/
private static final long serialVersionUID = 5807773481499313384L;
@RiakIndex(name="status") private String status;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
我仍然可以将该对象用作普通的哈希图并存储键和值,但它也会将“状态”写入二级索引(实际上最终被称为“状态_bin”,因为它是一个字符串。