親愛なる皆様
というわけで、全文検索を作成しました。
https://github.com/yagitoshiro/lokka-ferret
*メールはどうなった?という質問は受け付けません。
仕様としては、日本語に対応したアナライザとかトークナイザを作って動かすと
形態素解析のための仕組みがサーバ側にインストールされている必要があるので、
デフォルトの半角スペースでトークンに切り分けるやり方でインデックスを作成
しておいて、MeCabまたはYahoo! Japanの形態素解析を管理画面で選択し、
毎度呼び出して検索対象のテキストと検索語を分かち書きに変換しています。
大文字/小文字とかの表記揺れはFerretで解消してくれますが、さすがに全角数字と
半角数字のようなものは対応してくれないので、インデックス化するタイミングと
検索文字を解析するタイミングで半角文字と全角文字を統一化する関数を通過させるようにしました。
いくつか問題もありまして:
・mecabはGemfileで入れるとhomebrewなMacの人は動作しない(ruby-mecabの問題)
(だからGemfileでコメントアウトにしてある)
・dm-ferret-adapterが動かなかった(バージョンの問題?深追いできてない)
とかが解消されていません。
それから、boostなんかの設定もまだありません。とりあえず作っちゃったんで、
たぶん動くと思うんですが何かあったら教えてください。まあ、ご笑覧あれ。
八木 都志郎
yagit...@gmail.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)
iEYEARECAAYFAk1fvt4ACgkQ2MEmCNA++KLClQCeLMISsKPDNq9hu7FTaDbNcQDN
vxEAnR9neczyMd4KE5LDmVqlIp/bEuiX
=kam8
-----END PGP SIGNATURE-----
素晴らしすぎて、座り小便を漏らしそうになりました。
試してみます!
2011年2月19日22:00 八木 都志郎 <yagit...@gmail.com>:
> --
> このメールは Google グループのグループ「lokka-ja」の登録者に送られています。
> このグループに投稿するには、lokk...@googlegroups.com にメールを送信してください。
> このグループから退会するには、lokka-ja+u...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/lokka-ja?hl=ja からこのグループにアクセスしてください。
>
>
--
----------------------------------------------------------------------------------
Masaki Komagata <koma...@gmail.com>
ブログ: http://docs.komagata.org/
FJORD, LLC: http://fjord.jp/
CMS for Cloud: http://lokka.org/
開発依頼コミュニティ: http://help-me-hackers.com/
何作ってる人?: http://makesthis.com/
----------------------------------------------------------------------------------
http://gyazo.com/a13f51422da6668c773be82002c17aed.png
2011年2月19日22:00 八木 都志郎 <yagit...@gmail.com>:
iPhoneから送信
やっぱテーマで呼んでるメソッドですね。
で、DataMapperのオブジェクトに似たものを無理矢理作るのは
Entryクラスに手を入れるたびに動かなくなるリスクがあるので
方向としては間違っていると思います。
というわけで、専用にhamlを置いてみまっす。
八木 都志郎
yagit...@gmail.com
iEYEARECAAYFAk1g13sACgkQ2MEmCNA++KKiNQCeKMi4/rnJPcdx8ex3BmUwlO7A
oe4AnRGREO2o3CftVhxYYE761+yysYs/
=kxAO
-----END PGP SIGNATURE-----
jarvi以外ではエラーが出るのでDataMapperを調べていましたが、
dm-ferret-adapterにはいろいろ問題がありました。。。
まずFerretの初期化オプションがレポジトリのパス以外指定できないので、
localeを設定して日本語の検索に対応させることができません。
そのため、正々堂々、日本語はヒットしません。潔いです。
https://github.com/yagitoshiro/dm-ferret-adapter
というわけで、pull requestしました。
それから、dm-is-searchableというdmのプラグインを使うのが正しい
dm-ferret-adapterの使用法らしいのですが、プラグイン側からEntryクラスを再オープンしても
is :searchableが正しく動作しない(この時点ではまだrespond_to? 'is-searchable'.to_sumが
falseを返す)ので、lokkaのトップのGemfileにgem 'dm-is-searchable'を追加してやる
必要があります。
八木 都志郎
yagit...@gmail.com
On 2011/02/20, at 15:46, Masaki Komagata wrote:
iEYEARECAAYFAk1hUicACgkQ2MEmCNA++KK9fQCfdbIVN9qqPw+TKXIg2Y58Ofwx
lJwAn14EhesbTiHKj0M2r+J1d3T4zZvN
=8RQM
-----END PGP SIGNATURE-----