Railsで使えるGem

Rails3.2からMongoDBを使ってアプリをつくってみる~mongoid

投稿日:

MongoDBはとても素直で扱いやすいということがわかってきたので、以前作成した郵便番号・住所の相互検索アプリをまたつくってみた

参照

MongoDBのチュートリアルをこなす

KEN_ALL.CSVを使ってRailsで郵便番号を検索するサイトを作る1

KEN_ALL.CSVを使ってRailsで郵便番号を検索するサイトを作る2

 

Gemfile & bundle

Gemfileに追加

bundle

generate

必要に応じて設定ファイルを書き換える

今回は別の仮想PCにmongodbをインストールしたので、そのアドレスを指定した

データベース設計

設計というほどではないけれど、MySQLのときは半角スペース区切りにしておけば、それなりにlikeで早く検索できるんじゃないかという作戦だったけど、MongoDBはデータに配列をいれると、どれかに合致するものを選んでくれるので、これを使うといいらしい

www.mongodb.org/pages/viewpage.action?pageId=6488122

そこで、

zip: Strings

address: Array

address_kana: Array

という感じでモデルを作成した

データ挿入

seed.rbは前回のスペース区切りのデータを流用するのでこんなかんじで

rake db:seed

確認

うん、はいってる

controller

コントローラーの検索式はこんなかんじでマルチカラムみたいな感じでもひっかかる

これは複数語に対応していない、また前方一致検索のみにした

うむ動いてる あとでherokuにあげてどの程度速度が出るか試してみよう

 

-Railsで使えるGem
-, , ,

執筆者:

関連記事

Rails4とD3.jsでローソク足グラフを描く〜d3.js編

前回 Rails4とD3.jsでローソク足グラフを描く〜Rails準備編 目次1 jsonデータ2 y_scaleを考える3 始値と終値から箱をつくる4 高値と安値でひげをつくる5 y_axisをつけ …

RailsでECサイト構築5 プロモーションを試す~spree

  spreeをインストールするとspree-promoというエクステンションが含まれている これを使うといろいろな販売企画をすることができる 管理画面から適当に作成してみる 今回は特定の商 …

Mac OSXにHyper EstraierのRuby Bindingをインストールする

By: Kanko* – CC BY 2.0 目次1 環境2 Hyper Estraierのインストール3 ソースのダウンロード4 パッチを適用する5 rvmのためにconfigureファ …

no image

MongoidでMapReduceに挑戦中

MongoDBの薄い本の素材をMongoidでやろうとしたけど途中経過 MapReduceをやることの利点は、並列処理ができるということとSQLより柔軟な処理なできるということらしい(MongoDBに …

no image

RubyからHyper Estraierを使う1~search_do

環境:Ruby 1.9.3 & Rails 3.2.7 参考リンク github.com/grosser/search_do Getting started with acts_as_sear …