RAILS PRESS RUBY on RAILS, it’s DRY and COOL …

RSS Feed

RAILS PRESS RSS

Tag Cloud

はてなブックマーク - railspress.matake.jp の注目エントリー
象形文字くさび形文字ミイラそろばんの玉そろばんコーラン占いの板?象牙大英博物館
Tagged by 検索

Posted on
2008/03/27

Tags
ActsAsSearchable, HyperEstraier, Plugin, ノウハウ, 検索

0 Comment

この記事をはてなブックマークに登録 この記事のはてなブックマーク数 この記事を livedoor クリップに登録この記事の livedoor クリップ数 このエントリを del.icio.us に追加
ブックマークに追加する

ActsAsSearchableでHyperEstraierのIndex追加時に独自キーワードをセットする方法

acts_as_searchableを使うと、検索対象のモデルを新規作成した時に、after_saveフィルタでインデックスにデータが追加されます。

このときにHyperEstraier組込以外のツールでキーワードを設定したかったので、ActsAsSearchableExtendedというライブラリを書いてみました。

以下のソースをRAILS_ROOT/lib/に配置します。

LANG : RUBY
  1. module EstraierPure
  2.   class Document
  3.     def original_keywords
  4.       text_of_searchable_fields = texts.join(" ")
  5.       # DO SOMETHING
  6.       #
  7.       # Ex.)
  8.       #   keyword["ブログ"] = 1
  9.       #   keyword["rails"] = 3
  10.       #   keyword["ruby"] = 5
  11.       #     :
  12.     end
  13.     def dump_draft_with_termiology
  14.       @kwords = self.my_keywords
  15.       dump_draft_without_termiology
  16.     end
  17.     alias_method_chain :dump_draft, :termiology
  18.   end
  19. end

original_keywordsメソッドで独自キーワードを生成してやれば、そこで生成されたキーワードがそのデータに対応するHyperEstraierのドキュメントにセットされ、インデックスされます。

※キーワードはHashオブジェクトである必要があります。
 キーワードHashでは、keyが単語でvalueが重み。


Posted on
2008/03/21

Tags
HyperEstraier, MacOSX, MeCab, インストール/設定, ノウハウ, 検索

0 Comment

この記事をはてなブックマークに登録 この記事のはてなブックマーク数 この記事を livedoor クリップに登録この記事の livedoor クリップ数 このエントリを del.icio.us に追加
ブックマークに追加する

HyperEstraierとMeCabを連携させる方法

HyperEstraierをMacにインストールする方法については「Mac OS X に Hyper Estraier をインストールする - METAREAL」に詳しい説明が載っています。

しかしMETAREALで紹介されている方法では、HyperEstraierはN-gram方式でしかインデックスしてくれません。HyperEstraierにN-gramと形態素解析を併用させるには、以下のようにMeCabとの連携を行うように設定する必要があります。

以下、MeCabとHyperEstraierのインストールから、HyperEstraierの動作確認までをまとめておきます。

MeCabのインストール

MeCab本体のインストール

http://mecab.sourceforge.net/より

mecab-0.97.tar.gz

をダウンロードします。

LANG : shell etc.
  1. tar xvzf mecab-0.97.tar.gz
  2. cd mecab-0.97
  3. ./configure
  4. make
  5. sudo make install

» このエントリーには続きがあります。続きを読む »


検索タグ