Railsで使えるGem

sunspot_railsで全文検索

投稿日:

sunpotはsolrというJava製の全文検索サーバをrubyから使えるGem

sunspot_rails はsunspotにマージされてました

参考

railscasts.com/episodes/278-search-with-sunspot?language=ja&view=asciicast

公式

github.com/sunspot/sunspot

環境

Ruby 2.0.0

Rails4.0.2

Gemfile

sunspot:reindexに必要なgemを追加

bundle

generate

solrサーバへの接続設定をするconfig/sunspot.yamlが生成される

solrサーバの起動・停止

solrサーバは./solr以下に配置される

solrサーバを背後で起動

solrサーバを前面で起動 ctrl+cで停止

背後のsolrサーバを停止

Model

Modelにsearchable句を追加

text はsolrのfield型

storedオプションは対象を保存する.結果を強調表示するのに必要.

以前のデータ用のインデックスを作成

 

Controller

searchメソッドが使えるので、その中でfulltextで検索ができる

 View

:searchワードを投げるformをつくる

 

できた

screenshot

 

kaminariのHelperをつかう

Gemfile

Controller

 

 View

ダミーデータ

db/seeds.rb

ダミーデータはemmetのloremとかすぐ使えるダミーテキストとかから

 

できた

screenshot

 

日本語用のSchemaなど

solr/conf/schema.xmlにある.一応デフォルトでも日本語の単語が使えるぽい.

Apache Solrをインストールしてみる

qiita.com/ma2kubo/items/c38ae4f70d3613a34941

d.hatena.ne.jp/kahnn/20130828/1377645204

ngram + wildcard

github.com/sunspot/sunspot/wiki/Wildcard-searching-with-ngrams

 

古いけどこれしかない

 

と思ったら新訂版出てた!2013/11/29発売

-Railsで使えるGem
-,

執筆者:

関連記事

no image

Rails3.2でテーブルの並び替えをリファクタリング~ヘルパー

環境 Rails3.2.8でテーブル並び替えのテストを作る~cucumberと正規表現 テストができたのでHelper化 目次1 現状2 helper3 index.html.erb 現状 共通部分が …

no image

MongoidでMapReduceに挑戦中

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

no image

Carrierwaveでpdfのサムネイルを作成する

no image

Railsで動画を管理する2 動画のサムネイルを作成する~CarrierWave + Flowplayer

  *とりあえず動いているけど、もっとましな方法があるとおもいます 前提 Railsで動画ファイルを管理する~CarrierWave Flowplayer 参考 Rubyでffmpegのラッ …

no image

Rails3.2からBackbone.jsとD3.jsを使う一例

目次1 Backbone.jsからD3.jsを使う2 RailsのネストしたURLでBackboneを使う Backbone.jsからD3.jsを使う d3.jsで力指向グラフを使って遊ぶ2のクラス構 …