2

次のような JSON オブジェクトを考えてみましょう。

{
  name: 'ben',
  employer: 'The Sherwin-Williams Company',
  emails: ['ben@gmail.com', 'ben@sherwin-williams.com']
}

MongoDB では、電子メールとして「ben@gmail.com」を含むオブジェクトを見つけることができるように、電子メール フィールドにインデックスを付けることができます。これはRiakで可能ですか?ドキュメントを読んでもわかりませんでした。

4

1 に答える 1

2

確かにできますが、インデックス エントリを手動で入力する必要があります。

Ruby での例を次に示します。

require 'riak'

client = Riak::Client.new(:protocol => "pbc", :host => "127.0.0.1", :pb_port => 10047, :http_port => 10048)

ben = client['people'].get_or_new('ben')

ben.data = { :name => "ben", 
             :employer => "The Sherwin-Williams Company",
             :emails => ['ben@gmail.com', 'ben@sherwin-williams.com'] }

ben.indexes['email_bin'] << "ben@gmail.com"
ben.indexes['email_bin'] << "ben@sherwin-williams.com"

ben.store

これで、ruby ライブラリーまたは Web ブラウザーから検索できます。http://127.0.0.1:10018/buckets/people/index/email_bin/ben@gmail.com

私のシステムでは、これは次を返します: {"keys":["ben"]}

Java と Ruby の Riak ライブラリがインデックス エントリの追加/編集をサポートしていることは知っていますが、他のライブラリをチェックして、返信する必要があります。

于 2013-04-04T23:42:14.610 に答える