ruby

One-Class SVM で外れ値検出ができる gem を作った

One-Class SVM で外れ値検出ができる gem を作った。 github.com 元々は会社で開発している Rails アプリケーション内に実装した外れ値検出ライブラリだったけど、汎用性があるように実装していたので gem として公開することにした。 使い方 One-Class SVM …

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 を使う方法 どちらの方法でも、下記のように数値型の項目に対して文字列を登録した想定…

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 で駅の位置情報を取得することができるので、検索対象データとして今回は駅情報を使うことにする…

Fig で Ruby on Rails の CI 環境を構築する

Docker のオーケストレーションツールである Fig で Rails の CI 環境を構築してみた。 CI 環境と言っても、下記を実行するだけ。 RSpec RuboCop 構築した Rails プロジェクトは GitHub で公開しているので、試すだけなら下記のように。 $ git clone https:/…

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

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

Jenkins で bundle update を実行する

ジョブのビルドに「シェルの実行」を追加して、下記のスクリプトを実行するようにする。 git checkout -b bundle_update_`date +%Y%m%d` bundle update git add Gemfile.lock git commit -m 'bundle update' git push origin bundle_update_`date +%Y%m%d` h…

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>…