riak

Riak MapReduce を Elixir で書いてみる

前提条件 CentOS 7.1.1503 Riak 2.1.1 Erlang/OTP 18.0 Elixir v1.0.5 事前準備 Erlang/OTP のインストール Elixir を動かすためには Erlang/OTP 17 以降のインストールが必要となる。今回は Erlang Solutions レポジトリを追加して、Erlang/OTP 18.0 をイン…

Riak Erlang MapReduce でハマってしまった

Riak の MapReduce は Erlang と JavaScript で書くことができるが、JavaScript のサポートは将来的に廃止されることが決まっている。 JavaScript MapReduce is deprecated; we have expanded our Erlang MapReduce documentation to assist with the transi…

Riak Ruby Client 2.2.1 のリリース

Riak Ruby Client 2.2.1 がリリースされた。 このリリースではバグ修正と試験的な実装が行われている。 Version 2.2.1 is a bugfix release, and includes additional testing of character encodings. Bug fixes: Support bucket-typed buckets when creati…

Riak Ruby Client における MapReduce の問題点と対応方法 #3

下記の記事の続き。 Riak Ruby Client における MapReduce の問題点と対応方法 #2 - blog.holidayworking.orgblog.holidayworking.org Riak Ruby Client における MapReduce には下記の問題点があった。 Secondary Indexes でバケットタイプを指定することが…

Riak Ruby Clinet 2.2.0 がリリースされていた

Riak Ruby Client の最新バージョンとなる 2.2.0 がリリースされていた。 リリースノートによると、新機能は下記の通りである。 Object-oriented Riak Search (Yokozuna) API. Object-oriented Bucket Properties API. Bucket type properties are readable.…

riak-ruby-docker というものをつくってみた

riak-ruby-vagrant を参考に riak-ruby-client のテスト専用の Docker イメージであるriak-ruby-docker というものをつくってみた。 riak-ruby-client の RSpec が全て成功していることを確認しているので、riak-ruby-vagrant と同じ環境が構築できているは…

Riak Ruby Client における MapReduce の問題点と対応方法 #2

Riak Ruby Client における MapReduce の問題点と対応方法 - blog.holidayworking.org で挙げた下記の問題点は、黙っていても解決しない感じなので行動を起こすこととにした。 Secondary Indexes でバケットタイプを指定することができない Riak Search (Yok…

Riak Search (Yokozuna) におけるインデックス登録エラーの原因調査方法

Riak Search (Yokozuna) におけるインデックス登録エラーの原因調査をするためには、下記の2つの方法が考えられる。 ログファイルを確認する方法 yokozuna_error_patch を使う方法 どちらの方法でも、下記のように数値型の項目に対して文字列を登録した想定…

Vagrant で Riak クラスターを構築するために vagrant-riak-cluster というものをつくってみた

Vagrant で Riak クラスターを構築するために vagrant-riak-cluster というものを作ってみた。 使い方 使い方は READE.md にある通りで、デフォルトでは5ノード作成されるようにしてある。作成するノードは環境変数 NODES で定義できるようにしてあるので、3…

Riak Ruby Client における MapReduce の問題点と対応方法 #1

Riak Ruby Client で MapReduce を実行しようとしたところ、下記の問題点を見つけたので対応方法を書いておく。 Secondary Indexes でバケットタイプを指定することができない Riak Search (Yokozuna) を使うことができない Secondary Indexes でバケットタ…

Riak Search (Yokozuna) で位置情報検索をしてみた

Riak Search (Yokozuna) のバックエンドである Solr は位置情報検索に対応しているので、Riak Search でも位置情報検索ができる。 HeartRails Express の API で駅の位置情報を取得することができるので、検索対象データとして今回は駅情報を使うことにする…

Riak Search (Yokozuna) で日本語の全文検索を行う方法

はじめに 下記のようにデータを保存しても、全文検索を行うことができない。なぜかと言うと、Solr 側に全文検索の対象とするフィールドを教えてあげる必要があるからである。 $ rails c Loading development environment (Rails 4.1.5) [1] pry(main)> clien…

Ruby クライアントで Riak Search (Yokozuna) を試してみた #2

Riak Search (Yokozuna) のデフォルトスキーマだと Data Types で登録したデータはアナライズされないことが分かったので、下記のようにスキーマを変更してみた。 $ diff -u /usr/lib64/riak/lib/yokozuna-2.0.0-0-geb4919c/priv/default_schema.xml artists…

Ruby クライアントで Riak Search (Yokozuna) を試してみた #1

Riak 2.0 で追加された Data Types で登録されたデータに対して Riak Search (Yokozuna) を試してみた。 バケットとインデックスの紐付けをどうするか分からなかったけど、Riak::Client#set_bucket_props でバケットタイプを指定するだけで良かった模様。 $ …

Riak Ruby Client で Riak Search (Yokozuna) を試してみた #0

Riak Ruby Client の README のサンプルを試しただけ。 $ rails c Loading development environment (Rails 4.1.5) [1] pry(main)> client = $riak => #<Riak::Client [#<Node 127.0.0.1:8087>]> [2] pry(main)> bucket = client.bucket 'pizzas' => #<Riak::Bucket {pizzas}> [3] pry(main)> client.create_search_index </riak::bucket></riak::client>…