全文検索エンジンEstraier
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNGスレッドです。
http://estraier.sourceforge.net/
0202名無しさん@お腹いっぱい。
2005/05/03(火) 13:09:05sym link をdereferenceしないようにお願い
したいんだが、どうすれば良い?
0203名無しさん@お腹いっぱい。
2005/05/04(水) 16:46:010204202
2005/05/04(水) 20:12:26realpath()を呼んでるからだ、つうとこまでは分かった
んだが、絶対パスに展開するのやめさすと各方面に
色々面倒が起きそうな希ガス。
>>203の言うとおり、作者に頼むしかないかな。
0205名無しさん@お腹いっぱい。
2005/05/04(水) 21:30:07MLに投げれば対応してくれるかも。
0206名無しさん@お腹いっぱい。
2005/05/08(日) 11:02:500207名無しさん@お腹いっぱい。
2005/05/08(日) 18:34:26高林さんとかの JavaScript を参考に組めば出来ると思うけど、
たぶんめっちゃおもくなるとおもわれ。
0208名無しさん@お腹いっぱい。
2005/05/08(日) 20:54:44>>201 は Ajax なインターフェースのことを言ってると思われ。
0210名無しさん@お腹いっぱい。
2005/05/08(日) 21:01:23> 高林さんとかの JavaScript を参考に組めば出来ると思うけど、
> たぶんめっちゃおもくなるとおもわれ。
migemoのアイデアって、1990年ころに、プライベートな
研究会で見たことがあるよ。いや、べつにそっちの方が
先だとか言いたいわけではない。みんな同じことを考え
ていたんだということ。で、「たぶんめっちゃおもくな
るとおもわれ」とコメントされ、それで終わっていた。
0211名無しさん@お腹いっぱい。
2005/05/08(日) 21:46:12ありゃ、違うのか。 >>208 で合ってたのかな。
0212名無しさん@お腹いっぱい。
2005/05/08(日) 22:30:05onChangeイベントでsubmitするだけでしょ?
たぶんめっちゃおもくなるとおもわれるけど。
0213名無しさん@お腹いっぱい。
2005/05/08(日) 22:34:28ただ、インクリメンタルにする意義が感じられなくて結局使ってないけど。
0214名無しさん@お腹いっぱい。
2005/05/08(日) 22:42:49エディタで使うみたいに、一個のファイルの中をインクリメンタル検索するのは便利
なんだけど、不特定多数の文書をファイルを対象にた場合は意味がない。
インクリメンタルである利点は、前後関係が確定している場合にのみ享受できる。
0215名無しさん@お腹いっぱい。
2005/05/08(日) 23:39:230216名無しさん@お腹いっぱい。
2005/05/08(日) 23:41:20あれは単なるけばけばしい包装、はなばなしいだけの
ファンファーレ。
そんなものをほしがるやつには、UNIXを使う資格はない。
0217名無しさん@お腹いっぱい。
2005/05/08(日) 23:50:04と思うんだけど、みんなは違うの?
0218名無しさん@お腹いっぱい。
2005/05/08(日) 23:58:20俺の言う事を最後まで聞け(ゴルァ と思う事多し
動的なインターフェイスは使用者に掛かる負荷が大きいんだよね
何も考えずにインクリメンタルサーチ使える人は正直感心する
0219名無しさん@お腹いっぱい。
2005/05/09(月) 00:14:290220名無しさん@お腹いっぱい。
2005/05/09(月) 01:27:21チュートリアルにそれに関した記述が見当たらなかったんだけどやっぱり無いのかな。
0221名無しさん@お腹いっぱい。
2005/05/09(月) 01:55:120222名無しさん@お腹いっぱい。
2005/05/10(火) 11:37:13してその分だけ更新するようにできないかな。
0223名無しさん@お腹いっぱい。
2005/05/10(火) 12:03:00もちろんできるでしょ。
0224名無しさん@お腹いっぱい。
2005/05/10(火) 12:38:460225名無しさん@お腹いっぱい。
2005/05/10(火) 13:04:17そう思うなら、口を閉じて引っ込んでろ。
0226名無しさん@お腹いっぱい。
2005/05/10(火) 13:34:10FAM:http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=bks&fname=/SGI_Developer/books/IIDsktp_IG/sgi_html/ch08.html
gamin:http://www.gnome.org/~veillard/gamin/
いずれにせよOS依存なので、自分の環境にかなり精通していないと難しいだろう。
Google Desktop Searchはどうやってるのか知ってる?
0227名無しさん@お腹いっぱい。
2005/05/10(火) 13:51:17なにそんなカリカリしてるの?
0228222
2005/05/10(火) 14:26:13どうもです。でもプログラミングしないといけないのは辛いですね。
過去1時間に更新された更新ファイルのパスのリストがどっかのファイル
に記録されているような仕様だったら嬉しいのですが。
あ、ちなみに225は私じゃないですよ。
0229名無しさん@お腹いっぱい。
2005/05/10(火) 14:41:52それどうやるの?
0230名無しさん@お腹いっぱい。
2005/05/10(火) 15:02:09Beagleは使える環境の場合はInotifyを使うみたい。
0231名無しさん@お腹いっぱい。
2005/05/10(火) 16:15:10inotifyでもそこんとこは変わってないよね?
監視対象を再帰的に広げるよりは、定期的にfindした方が負荷が小さいような。
0232名無しさん@お腹いっぱい。
2005/05/10(火) 16:32:35そう思うなら、口を閉じて引っ込んでろ。
0233名無しさん@お腹いっぱい。
2005/05/10(火) 16:40:20軽量高速な更新検出手段の探求/実現が必要ですねッ!!
0234名無しさん@お腹いっぱい。
2005/05/10(火) 16:47:45ガンバレー!!
0235名無しさん@お腹いっぱい。
2005/05/10(火) 17:44:25明示的に更新を通知する手段と、更新頻度が高い場所は巡回頻度も高めると
いった工夫を併用すればかなり使いやすくなるんじゃない?
0236名無しさん@お腹いっぱい。
2005/05/10(火) 17:54:10そうカリカリすんなよ。歯痛にでもなったか?
0237名無しさん@お腹いっぱい。
2005/05/10(火) 23:44:55仕組みになってたと思う。
0238名無しさん@お腹いっぱい。
2005/05/11(水) 18:00:030239名無しさん@お腹いっぱい。
2005/05/11(水) 18:20:12わかった。全部お前にまかすわ。あとはよろしくな。
0240名無しさん@お腹いっぱい。
2005/05/11(水) 18:24:58ハンドリングするプラグインを扱う枠組みだな。
0241名無しさん@お腹いっぱい。
2005/05/11(水) 18:29:16わかった。そっちはお前にまかすわ。あとはよろしくな。
0242名無しさん@お腹いっぱい。
2005/05/11(水) 18:53:11プラグイン機構は不要だと思われる。
それよりPerlかRubyのバインディングを早く出してほしい。
0243名無しさん@お腹いっぱい。
2005/05/11(水) 19:57:37いや、じゃなくて、新しい文書扱いシステムを作った側が、
検索エンジンがそれを効率良く扱えるように
一連の設定やプログラミングを行なう枠組みが
いるのではないかという話だ。
0244242
2005/05/11(水) 22:48:38更新処理をトリガとして関数が呼ばれる仕組みが大抵のDBには備わっているけど、
一般的な文書扱いシステムではどうなんだろう。
0245名無しさん@お腹いっぱい。
2005/05/12(木) 11:45:47select() かけることで対応できないかなあ。
0246名無しさん@お腹いっぱい。
2005/05/12(木) 12:18:150247名無しさん@お腹いっぱい。
2005/05/14(土) 02:55:39Rast: A full-text search system
ttp://www.netlab.jp/rast/
●検索対象となる文書の分野や言語を選ばない
テキストデータを n 個の文字の並びである N-gram に分割して検索を行うため,「検索漏れが生じない」,「辞書の整備が必要ない」という特徴がある N-gram 方式を選べます.
これにより,検索対象となる文書の分野や言語を選ばずに広く利用することができます.
●多様なファイル形式への対応
HTML や Microsoft Word といった多様なファイル形式の文書からテキストデータやタイトルや作成日などの属性情報を抽出し,検索対象にできます.
●全文検索ライブラリの提供
C 言語と Ruby で利用可能な全文検索ライブラリを提供することにより,本ソフトウェアを利用した全文検索を行うアプリケーションを開発することができます.
さらに,ライブラリの利用例として,過去のメールを全文検索できる電子メールソフトを開発します.
●インクリメンタルな文書の追加登録
作成したデータベースに対して,インクリメンタルに文書の追加登録ができます.このため,一度作成したデータベースを作成し直す必要がありません.
誰か試して
0248名無しさん@お腹いっぱい。
2005/05/14(土) 03:58:31C APIを提供してるわりにクライアントライブラリまでGPLなのはちょっと痛い。
せめてXMLRPCの仕様を公開してほしいが、だったらEstraierのノードAPIを
待った方が幸せになれそう。
Matzのお膝元のnetlabで開発してるので、Rubyを使ったアプリケーションが
いろいろ出回ってきたら面白くなるのかもしれない。
0249名無しさん@お腹いっぱい。
2005/05/14(土) 17:02:09とか言われた時点でもう、センスつうか趣味
つうか合わないを思いますわ、パスですわ
>>247
0250名無しさん@お腹いっぱい。
2005/05/14(土) 17:18:490251名無しさん@お腹いっぱい。
2005/05/14(土) 19:50:070252名無しさん@お腹いっぱい。
2005/05/14(土) 20:45:230253名無しさん@お腹いっぱい。
2005/05/14(土) 22:58:21ML archive も落ちてる。
0254名無しさん@お腹いっぱい。
2005/05/14(土) 23:58:140256254
2005/05/17(火) 00:09:150257名無しさん@お腹いっぱい。
2005/05/25(水) 10:37:35http://hyperestraier.sourceforge.net/
0258名無しさん@お腹いっぱい。
2005/05/25(水) 16:35:210259名無しさん@お腹いっぱい。
2005/05/25(水) 22:28:14SUGEEEEEEEEEEE!!!!!!!
0260名無しさん@お腹いっぱい。
2005/05/27(金) 18:44:350261名無しさん@お腹いっぱい。
2005/05/31(火) 23:04:020262名無しさん@お腹いっぱい。
2005/06/01(水) 11:26:516/2 13:00〜 「全文検索システム Rast の設計と実装」
6/3 10:00〜 「全文検索 BOF」
などという企画をやってる。
0263名無しさん@お腹いっぱい。
2005/06/04(土) 22:50:240264名無しさん@お腹いっぱい。
2005/06/04(土) 23:10:40(□←ばかり)どうしてか教えてください。
0265名無しさん@お腹いっぱい。
2005/06/05(日) 00:05:250266名無しさん@お腹いっぱい。
2005/06/05(日) 00:20:490267名無しさん@お腹いっぱい。
2005/06/05(日) 00:54:33「電車男」という映画を見に行くとなにかヒントが得られるかもしれません。
0268名無しさん@お腹いっぱい。
2005/06/05(日) 18:28:53並列化できればGoogleとかに匹敵するんじゃないか?
0269名無しさん@お腹いっぱい。
2005/06/06(月) 10:22:14全文検索BOFでは、NAMAZU開発者とRast開発者とHyper Estraierの開発者が
一堂に会して、開発思想とかを語ってくれた。
ただ、2時間もあった割には突っ込んだ話ができず、薄かった感じがする。
0270名無しさん@お腹いっぱい。
2005/06/10(金) 22:35:21http://tokuhirom.dnsalias.org/~tokuhirom/tokulog/1193.html
0271名無しさん@お腹いっぱい。
2005/06/10(金) 23:07:46Rastと違ってAPIがリモートとローカルで違うらしいから、
やっぱノードAPIを待った方がいいんじゃないかと思う。
0272名無しさん@お腹いっぱい。
2005/06/10(金) 23:27:57RubyとかだとHTTPサーバのツールキットもあるわけだし。
0273名無しさん@お腹いっぱい。
2005/06/11(土) 10:40:11バインディングをわざわざ選ぶかなぁ?
むしろスクリプトで書いたプログラムにいちいちサーバ立てるのやってらんないという
面倒くさがり向きなんじゃないの。
0274名無しさん@お腹いっぱい。
2005/06/11(土) 16:42:53Cでなんてやってられない。
0275名無しさん@お腹いっぱい。
2005/06/12(日) 03:31:38ちょうどいいから rast のソースでも読んでみなよ。
といいながらも ruby が楽しくなりつつある今日この頃です。
0276名無しさん@お腹いっぱい。
2005/06/12(日) 09:49:52WEBrick+HyperEstraierとかWEBrick+Rastってのが強力かつ簡単でよさげ。
0277名無しさん@お腹いっぱい。
2005/06/12(日) 15:35:53ライセンス問題?
0278名無しさん@お腹いっぱい。
2005/06/12(日) 23:07:120279名無しさん@お腹いっぱい。
2005/06/24(金) 07:37:52まだ作りこみが甘い感じだけど、今後に期待age。
http://www.mitsuki.no-ip.com/~seagull/software-archives/hyperestraier/gdestraier.html
0280名無しさん@お腹いっぱい。
2005/06/24(金) 09:56:050281名無しさん@お腹いっぱい。
2005/07/04(月) 01:40:52open/closeシステムコールをを監視してスポットライト風にインクリメンタルアップデートが
できると面白そう。ガンガレ。
まずは更新があったファイルを指定するとその情報のみをアップデートする機能が
必要だな。既存のものだと全部を指定してアップデートする方法しか用意されてないからな。
0282名無しさん@お腹いっぱい。
2005/07/04(月) 18:08:11いちお、estcmdに-sd -cm 付けてるです。
だから全更新してもタイムスタンプの新しいやつ以外はスキップされるですよ。
0283名無しさん@お腹いっぱい。
2005/07/06(水) 00:48:17namazuにしろなんにしろ従来のは全更新しかなかったと思うんだよね。
だから、逆に一部更新はできるのかと。
編集した利用者ならどこを編集したかわかっているわけだから全更新して
全部のディレクトリをなめる時間待たされるよりも更新した箇所を指定して
updateできたほうがよくない?
んで、その上でシステムコールを監視してスポットライト風アップデートですよ。
0284名無しさん@お腹いっぱい。
2005/07/06(水) 03:03:16しないと難しいんじゃない? いずれにしても、オーバーヘッドがでかくなってしまう。
移植性の問題もあるし。
よく更新されるディレクトリの監視頻度を上げるのと、ユーザが明示的に更新を指示
をするのを併用すれば実用上は十分だと思うけど。メールボックスとかだったら、アプ
リケーションのプラグインかなんかで更新ロジックを組み込めるといいね。
0285名無しさん@お腹いっぱい。
2005/07/06(水) 10:40:58Windowsじゃ無理だけど、UNIX系ならそのへん独立してるし。
WinFSには全文検索っぽい機能が組み込まれているというウワサも聞いたけど、
どうなんでしょ。
0286名無しさん@お腹いっぱい。
2005/07/06(水) 10:49:45Hyper Estraierは、ディレクトリでなくファイルそのものを指定して
インデックスに登録できるよ。
>>284
famを使い、特に指定されたディレクトリだけ監視。
移植性と監視コストの問題はfamに丸投げして、各プラットフォームに最適
なアルゴリズムで監視できる事を期待。
更新された時に即座に更新だと確かにオーバヘッドが大きすぎなんで、
遅延してある程度のまとめ更新するデーモンをniceしておけば実用的な
範囲に収まるっぽくね?
いくらなんでも、数分前に更新した文書くらい探さなくても判るだろ。
それより問題は、インデックスをユーザ毎に持つと重複が多すぎるって
事だな。サイズもそうだけど、オーバーヘッドも整数倍になる。
業務の書類とかmanページを探したい時なんか完全に重複だね。
インデックス中の文書データに対するパーミッションをなんとかして、
システムグローバルなインデックス&検索機能のデーモン化をしないと
現実的でないような気がしてきた。
0287名無しさん@お腹いっぱい。
2005/07/06(水) 11:04:33ファイルシステムオーバーライドするのは面白そうなんで、
LUFS使って簡単に実装しようと思ったけど、
/usr をすげかえる気にならないし、対象ディレクトリが増えた時に
fstabの構成変えるのも馬鹿らしいので廃棄処分にしますた。
0288名無しさん@お腹いっぱい。
2005/07/06(水) 15:04:04事実、どっかからダウンロードしてきた文書をすぐに全文検索したくなる
ことは多い。それを考えると、やっぱり手動更新指示の機能もほしいよね?
Hyper Estraierの更新処理は異常に速いから、検索窓の横に「更新」ボタンを
つけておいて、結構気軽に更新をかけさせても実用になると思う。
ラジカセのメタファを使って、「再生(右向きの三角)」で検索をして、
「録音(丸)」で更新をして、「停止(四角)」で検索や更新の停止をして、
負荷状態を音圧っぽく表現するというのも面白いかもね。
0289名無しさん@お腹いっぱい。
2005/07/06(水) 16:25:21...目的のファイルが判ってるなら、grepした方が早いような気がする...
でもまぁ、同時ログインしてる別ユーザもいるから、確かに遅延はかなり小さく
しないと厳しい状況がありうるだろうね。
更新ボタンを置くのはいい考えなので、Quick build機能付けるよ。
0290名無しさん@お腹いっぱい。
2005/07/06(水) 19:04:30デスクトップ検索アプリを目指すなら、マルチユーザのインデックスの共有はそれほど考え
なくてもいいんじゃね?
自分のホームディレクトリを対象にしたインデックスさえ作れればほとんどのユーザは満足
でしょ。デーモン走らせないと使えないのは初心者向けでないような気がするよ。
副次的な機能として、他人のインデックスをリードオンリーで開けるようにして、チェック
ボックスをオンにすればそこの結果もマージして表示できるといいかも。
つまり他人のインデックスを更新できる必要はないってこと。
manとかの共有物のインデックスはrootで最初に作っておいて、/var 以下においておけば
いいんじゃない? その更新もわざわざデーモンにしないで、cron実行で十分でしょ。
0291名無しさん@お腹いっぱい。
2005/07/06(水) 20:47:50基本的にはそうなんだけどさ。
manなら問題ないけど。rootで作ると、本来ユーザに読み込み権限の無いファイルも検索
できて、要約も見えちゃうわけじゃん。
かといって、権限単位にインデックス作るというのも現実的でないし。
業務用の、たとえ共有ディレクトリに入っている技術経歴書とか、仕様書とかを対象と考えた時、
細かい制限ができないと問題だと思ったわけ。
つーわけで、ホームユーザには間違いなく十分だけど、職場で活用となると問題があるわけよ。
試してないけど、
> 副次的な機能として、他人のインデックスをリードオンリーで開けるようにして、チェック
> ボックスをオンにすればそこの結果もマージして表示できるといいかも。
これは現段階でできるような気がする。
今現在、検索用にはDBをリードオンリーで開いてるし、マージもデフォルトだし。
Hyper Estraierはリードオンリーで複数プロセスがオープンしても平気だし。
ってか、みんなのところでちゃんとビルドできてる?、、、って、だれも試してませんか、そうですか。
0292名無しさん@お腹いっぱい。
2005/07/07(木) 00:53:57一般ユーザの読み込み権限(S_IROTH)がついているファイルだけ読み込むように
すれば大抵は大丈夫だと思うけど。
0293名無しさん@お腹いっぱい。
2005/07/07(木) 13:16:11> Hyper Estraierは、ディレクトリでなくファイルそのものを指定して
>インデックスに登録できるよ。
・・・できないんですけど?
>第3引数としてファイル名を指定すると、そのファイルから処理対象のパスのリストを読み込みます。
って書いてあるし・・・
0294名無しさん@お腹いっぱい。
2005/07/07(木) 13:43:20そのリストにファイル名書くんだよ。
find . -name '*.txt' | estcmd gather オプション インデックス -
0295名無しさん@お腹いっぱい。
2005/07/12(火) 00:26:37Cygwinを使えるし。
0296名無しさん@お腹いっぱい。
2005/07/12(火) 16:15:12Cygwinでも動くのかなぁ。
0297名無しさん@お腹いっぱい。
2005/07/16(土) 23:16:11そうだったのカー (AA略
0298名無しさん@お腹いっぱい。
2005/07/17(日) 03:20:260299名無しさん@お腹いっぱい。
2005/07/17(日) 20:23:17プログラムってどうすればいいかわかりますか??
調べてもわかんないです。本でもなんでも教えてほしいです。。。
0300名無しさん@お腹いっぱい。
2005/07/17(日) 21:44:47■ このスレッドは過去ログ倉庫に格納されています