Я храню хэш-карту в ведре риака следующим образом:
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;
}
}
Я по-прежнему могу использовать объект как обычную хэш-карту и хранить ключи и значения, но он также будет записывать «статус» во вторичный индекс (и в конечном итоге будет называться «status_bin», поскольку это строка.