組み込み型全文検索エンジンSenna
…で、どうやって入れたらいいねん
誰か教えてくれ! PerlとMySQLのバインディングもあるよ。
はてなで使ってるのはそれか、さらにカスタムしてるかも。
すごい使い勝手はよさそうなんで、PHPとPostgreSQLのバインディングもよろしく。<ブラジルの中の人
いざとなれば、他のPECLの見様見まねで自分でPHPバインディングつくるかも。 GPLのライブラリはPHPライセンスと衝突するからまずいという議論が
php-dev であったよ。それで Rast のモジュールもお蔵入りになり、
namazu も pecl から撤退した。 やっぱりGPL絡みで本家に期待するのは難しいですね。
自分でコソーリ作ってコソーリ使うか。
Namazuは将来libnmzをLGPLにするという話があるみたいだけど
分かち書きインデックスの精度に限界を感じてるので、それでPECL復帰しても使うかは微妙。
RastかSennaがいいなあ。
しかしEstraierも含め国産全文検索エンジンは何で揃いも揃ってGPLなんだろ。
コアがLGPL/BSDLで、フロントエンドの実装がGPLなら、ぐっと使いやすくなるのに。
# Namazuを引き合いに出すけど、わざわざLGPL版を書き起こさなくてもソースコードの著作権者が
# 「LGPLにライセンス変更です」って宣言すればいいだけと思う。 Estraier はコアのLGPLであるところのQDBMライブラリのGPLな全文検索
フロントエンドな訳だけどね。
モジュールが書ける腕なら同等機能を作るのは問題ないはず。ソース見てみ。
Rast も XMLRPC 経由で使えばライセンス問題は起きないから、
仕様が公開されれば php からも使えるでしょ。
あと、Estraier の次バージョンの HyperEstraier はライブラリ形式で LGPL。
著作権者って送ったパッチが取り込まれた奴全員だよ?
一人でもヤダっていったらダメな訳だし、そもそも連絡取れないとおもう。 >>8
まだ見てるかな。
Rast がライセンス変更になったよ。BSDライクな奴だってさ。
そんで、phpモジュールも公開再開だって。
個人的には、そろそろ公開されそうなHyperEstraierのノードAPIに
期待してるわけですが。 APIを見ると、文書の属性は保存できないんだね。
まぁべつのBDBなりなんなりに入れろということか。
文書管理の面からすると、RastとかHyperEstraierに比べてそのへんが面倒?
逆に文書管理に縛られずに自由にいろんなアプリに組み込めるのがいいところなのかな。 独自パッチバージョンのMeCabが必要という時点で、
お試しで軽く触ろうという意欲が無くなるな。
sennaにしか効果ないパッチじゃなく、MeCab全体に役立つパッチとして
MeCab公式に取り込んでもらいたいところだな。
>>14
MeCab0.9で取り込まれたっぽいからpatchはもういらないぽ MySQLバインディングのところ、
「skipmode-patchについてはここでは触れません。」
って書いてるけど、
どこで触れてるの? なんでこのスレ書き込み少ないん?
普通に便利だと思うんだが… >>22
使用する機会が少ないから。
ホームページならGoogleでいいし、blogなどの検索機能でも十分だし。
それ以外ではSQLのlike検索で十分なパフォーマンスになる程度の量しかない。 PHPでSennaを使ってHTMLを検索するときに、インデックス生成はどうやってやればいいんでしょうか?
MySQLを使用したものしか製作したことがないので… >>24
PHP bindingを使う、
http://qwik.jp/senna/PHP_binding.html
のだが、PHPバインディングの開発は止まっているみたい。 >>22
Mysqlの全文検索がUTF8対応だからじゃないかな
N文字でも分かち書きでもいいけどとにかく適当に分割してやれば日本語でも検索できる
じゃあSennaって?ていう感じじゃないだろうか っていうか2ch絡みの企業の製品なんて使いたくもない。 >>http://pc8.2ch.net/test/read.cgi/php/1157467026/382
>382 名前:nobodyさん sage 投稿日:2006/10/05(木) 14:59:05 ID:???
>MySQLならMeCabとかで分かち書きして、UTF-8でFULLTEXTに放り込む手もある。
こんな事を書いてたら某所で取り上げられてて驚いた。(適当に要約し引用)
>MySQL&PostgreSQLの全文検索は転置インデックスだが、Sennaは完全転置インデックスを採用している。
>完全転置インデックスの採用によって、Sennaはフレーズ検索する事ができる。
>>27
フレーズ検索に対応ってのは結構大きなポイントだねぇ 1.0完成記念age!
少し前の使ってるけど
入れ直した方がいいのかな? >>34
入れなおして、インデックスを作りなおすといいかも。
安定性が増している・・・はず・・・ phpバインディングまだぁ?
この前、ぐにゃらくんが PHP extensionの書き方勉強してるっていうんで
期待してたのだけれども。
>>37
rm -rfで書き途中のヤツを消してしまった。
今は書き直して、basic APIまでできてる。 大量のデータをDBも使わずにいじるケースが想像しにくいんだけど
PHPバインディングってどういう用途で使うの? >>39
んだ。特に今のSennaはストレージを持っていないから、
ドキュメントの更新は古いドキュメントの内容を渡さないといけない。
となると、実用的なアプリを書くとなると、
やはりBDBとかsqliteに別途ドキュメント情報を持っておく必要があると思うんだけどなあ・・・ >>37
というわけで、作り方だけ公開してみた。
地味にAPIを増やしていく予定。 現在PHP+MySQLでシステム運用してるけど、もしも導入が超簡単なら導入したい。
例えばsennaのファイルをどっかに置いて、ちょこっと設定ファイルをいじるだけでOK、とか。
それも現在のシステム構成に影響出さずに導入できるなら・・・
それならお金出してでも導入したい。
3万までなら出す。 パッケージソフトとして3万ならそこそこ高価だろ。
別にたいした規模のソフトじゃないし。 >>42
うひひ。果報は寝て待て。
>>44
オープンソースなので、勝手にrpm作って売ってもOKですよ。 >>45
>オープンソースなので、勝手にrpm作って売ってもOK
訴えられても知らんよ・・・ 訴えられるわけないだろw
元からそういうものなんだから >>47
じゃあ、お前が売れば?
オープンソースの定義・概念や意味を本当に理解しているのなら、ね。 >>42
MySQLのリビルドが必要だから超簡単とは言いづらい.
dump→リビルド→データ流し込むの作業が簡単かどうか.
LudiaはPostgreSQLのリビルドの必要なく組み込めるらしい.
>>49
NTTデータ社員乙 >>49
>dump→リビルド→データ流し込むの作業が簡単かどうか
どっちって言うと、超難しい&めんどくさい。
dumpと流し込みはいいとして、リビルドってのが激しくイヤだ。
絶対に何かトラブルが発生するのが目に見えている。 >>51
うん、だからもっと簡単に導入できるソリューションが出るまで我慢する!