次のように riak バケットにハッシュマップを保存しています。
バケット.store(キー, 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」と呼ばれることになります)。