0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Riak docs の 2i Examples を意訳してみた

Last updated at Posted at 2013-06-26

Secondary Index Examples

大雑把な意訳、理解が苦しい箇所は英文と一緒に転載します
http://docs.basho.com/riak/1.3.2/tutorials/Secondary-Indexes---Examples/

2013/07/04 追記: もっと素晴らしい全訳が Github にありました。
https://github.com/basho/basho_docs/blob/1.3.0/source/languages/jp/riak/tutorials/Secondary-Indexes---Examples.md

Overview

例を試すには、Riak を localhost:8098 で HTTP Protocol を使用できるように動かしてください。またインデックスに対応したバックエンドストレージを使う設定を行なってください。

Index Objects

次の例は、4 つの異なる Object にインデックスを付けます。

curl -v -XPUT \
-d 'data1' \
-H "x-riak-index-field1_bin: val1" \
-H "x-riak-index-field2_int: 1001" \
http://127.0.0.1:8098/riak/mybucket/mykey1

curl -v -XPUT \
-d 'data2' \
-H "x-riak-index-Field1_bin: val2" \
-H "x-riak-index-Field2_int: 1002" \
http://127.0.0.1:8098/riak/mybucket/mykey2

curl -v -XPUT \
-d 'data3' \
-H "X-RIAK-INDEX-FIELD1_BIN: val3" \
-H "X-RIAK-INDEX-FIELD2_INT: 1003" \
http://127.0.0.1:8098/riak/mybucket/mykey3

curl -v -XPUT \
-d 'data4' \
-H "x-riak-index-field1_bin: val4, val4, val4a, val4b" \
-H "x-riak-index-field2_int: 1004, 1004, 1005, 1006" \
-H "x-riak-index-field2_int: 1004" \
-H "x-riak-index-field2_int: 1004" \
-H "x-riak-index-field2_int: 1004" \
-H "x-riak-index-field2_int: 1007" \
http://127.0.0.1:8098/riak/mybucket/mykey4

次の例は、インデックスの項目に無効な名前あるいはタイプを指定した場合に何が起きるかを実際にやってみます。システムは 400 Bad Request とエラー内容を示すレスポンスを返します。

curl -XPUT \
-d 'data1' \
-H "x-riak-index-field2_foo: 1001" \
http://127.0.0.1:8098/riak/mybucket/mykey

# Response
Unknown field type for field: 'field2_foo'.

curl -XPUT \
-d 'data1' \
-H "x-riak-index-field2_int: bar" \
http://127.0.0.1:8098/riak/mybucket/mykey

# Response
Could not parse field 'field2_int', value 'bar'.

Exact Match Query

次の例は、HTTP インタフェースを使用して、インデックスにマッチする結果を取得します。

# Query a binary index...
curl http://localhost:8098/buckets/mybucket/index/field1_bin/val1

# Query an integer index...
curl http://localhost:8098/buckets/mybucket/index/field2_int/1001

Range Query

HTTP インタフェースを使用して、Range Querey を実行する例です。

# Query a binary index...
curl http://localhost:8098/buckets/mybucket/index/field1_bin/val2/val4

# Query an integer index...
curl http://localhost:8098/buckets/mybucket/index/field2_int/1002/1004

Retrieve all object keys in a bucket based on the $bucket index

bucket "mybucket" に格納されている全ての Object の keys を検索する例です。

curl http://localhost:8098/buckets/mybucket/index/\$bucket/_

End

実際に試してみなきゃ、わかんねーな

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?