全文検索エンジン Hyper Estraier 2
「はっ!はぁぁぁあんっ!ナ、ナマズは?ナマズは、こ、超えたの??」 いいえ、タイにご執心の気違い次男がいる限り、なまずは不滅です。
もっとも最近は、もっとダイレクトにcockらしいですが。 いちいちhttpdなんか動かしてられるか!
ってひとのため。
http://green.ribbon.to/~ikazuhiro/lookup/ndest.html 前スレとの二重カキコご免なさい。
http://athlon64.fsij.org/~mikio/wikipedia/estseek.cgi?clip=8
こちらのサイトでtestを検索
http://athlon64.fsij.org/~mikio/wikipedia/estseek.cgi?phrase=text&perpage=10&clip=8&navi=0&attr=&order=
すると関連キーワードとして
Related terms: text, rowspan, style, align, center, color, background, key
というふうに出てきますが、これって配布されているCGI、estseek.cgiでも出すようにできますか??
いろいろ調べているんですが、方法が一向に分からず。
ご存知の方いらしたら改造のしかた教えて下さい。 複数のインデックスを作っておいて、同時に検索できるのでしょうか?
estseek.confのindexname: 部分では複数の記述ができませんでした。 relwords.qdb って何処で入手できるんでしょうか。 ttp://qdbm.sourceforge.net/mikio/rbbs.cgi?id=RA11373623770980940568&focus=1
俺なら作者に「お願い」するけどな。
ところでGNU FDLに基づいて公開義務が生じる根拠って何かあるの?
ここで改変されたデータへのアクセスを提供してる。
http://athlon64.fsij.org/~mikio/wikipedia/relwords.cgi
これだろ
http://athlon64.fsij.org/~mikio/wikipedia/relwords.qdb xyzzyのスレがあるべ。
作者さんはずっとあっちの人だ estcmd search -ord のあとに何をかけばいいのかわかんねー。
rubyの二つの bindingもどういう得失があるんだろう..
やっぱり purerubyだとちょっと遅いとか??
ちょっとソースに diveしてくる。
mixiが自社開発の検索エンジンに移行、ウェブ検索はYSTに:ニュース - CNET Japan
http://japan.cnet.com/news/media/story/0,2000056023,20352009,00.htm
Hyper Estraier あげ mixy日記はコーパスとしておもしろそうだよねえ。 namazu.el と同じようなフロントエンドおねがいしますー。
上にあったlookupじゃ使いにくいです。
リターン一発で編集したいです。
Windowsバイナリ版で作成したインデクスと付属CGI(estseek.cgi及び関連ファイル)は
そのままレン鯖にうpしても動かないですかね?
試用段階なのだけど、なにか違うんだろうか。
ご、ごめん、いずれにしてもRubyからアクセス(検索)することになるので
そっちをテストしたらうまくいきました。
付属CGIが動かない理由はまだわからないけど、
自分でもいまいち整理できてないですし、
estseek.cgiは使わないので質問は取り下げます。
ごめりんこですm(_ _)m ちかごろ良さげなパッチがMLに
流れてるが、作者はマージせんのか。
中華、作者はメンテしてんのか? 確か1.4.9と1.4.10の間も長かったな。
mixi移籍後社内業務で手一杯なのか開発速度が大幅に落ちた希ガス Tokyo Cabinet なんてのも作ってるしなあ。 QDBM ともども H.E. もこのまま放置されたりして。
http://tokyocabinet.sourceforge.net/
つーか代わりにメンテナに立候補する香具師はおらんかなあと思う今日このごろ。
>>32
開発スピードが遅くなるのはいいんだけど、放置プレイだけが心配だなぁ。
Tokyo Cabinet で QDBM の不満点を解消したとかいってるし、QDBM 放置 → H.E. も放置な流れの気配が… 100万レコードくらいのインデックスを作成したいのですが、
mysqlのエラーで止まります。何かいい方法ありますか? そもそもmysqlのエラーというのが発生する経緯がわからん
どういう使い方をしているのか、それを説明したまえ >35
レスありがとうございます。
hyperestraierとacts_as_searchableというrailsのプラグインを使って、全文検索を行いたいと考えています。
acts_as_searchableに備わっているreindex!というメソッドを実行すると、インデックスが構築される仕様になっているのですが、
これを実行すると、だんだん処理が重くなり、最終的にはMysql::Error: Lost connection to MySQL server during queryというエラーが出てしまいます。
reindex!というメソッドはデフォルトでは対象になるレコードを一気にメモリにのせてしまうので、
そのあたりは負荷を減らすようなコードに修正して実行しています。
(このような感じです。ttp://d.hatena.ne.jp/yune_kotomi/20070912/1189617411)
hyperestraierのメーリングリストで、mysqlのLost Connectionを改善する
mysql_retry_lost_connectionというrailsのプラグインを教えて頂いたのですが、
インストールしても効果がなく、どうも、接続が切れる前の段階でつまずいているような気がします。
対象レコード数は100万弱で、途中で止まってしまいましたが、
#docs => 22897、#words => 196666まではいけました。
なにかアドバイスいただければ幸いです。
よろしくお願いします。
そのMySQLのqueryとやらは、その先の処理が何時間かかろうともいつまでも待ってくれるの?
単にタイムアウトしているだけのような気が...
マルチっていうより、ML で有効なレスポンスがないからこっちにも、ってことだろう。
残念ながら俺は MySQL と組み合わせたことも Rails も使ったことがないからよくわからん。
つか普通 MySQL で全文検索するんだったら Senna じゃね? いや、だからさ、作者はメンテする意思あんのか、と。 メンテナンスに関しては、開発者コミュニティが形成されていない
のがダメな点だな。
作者の手を煩わせてはいかんよ。 いやでもパッチ投げても直接マージされるわけじゃなく、本人がリライトして
著作権保持者を維持してるので、開発コミュニティの形成はforkでもしないと
無理だよ。
作者がmixiじゃなくgoogleに就職していれば… googleに行ったフーリソフトウェア者も沈黙しちゃってる件(泣)
マイクロソフトはソース見たらフリーウェアに参加で着なくなるけどほかのも? estseek.cgiで属性検索しても結果に出てこないのはなんで?
[UVSET]してるけどなー あとgather -aa @uri STRで属性インデックスつけてるけど やっぱ遅いですね
属性検索で速く検索する方法ありますか >>48
それ属性インデクス追加のオプションだっけ?
おれは
estcmd create -attr @uri str idx
とかやって属性インデクス付けたよ.
1000万件位のレコード数だったけど,URI検索は体感できるほど
速くなった.
>>39-45
で、いざ新バージョンが出たら沈黙ってなんだよ。 http://hyperestraier.sourceforge.net/index.ja.html
> 最新のソースパッケージ(バージョン1.4.12)
あれ、いつの間に。
ML 入ってるけどリリース情報なかったぞ。
何にせよ復活age.
ただ、ChangeLog 見る限り、
2007-11-18 Mikio Hirabayashi <mikio@users.sourceforge.net>
* estraier.c: code clean-up.
- Bugs related to type casting of perl binding were fixed.
- Release: 1.4.12
2006-11-11 Mikio Hirabayashi <mikio@users.sourceforge.net>
* estraier.c (est_resmap_add): "method" argument was added.
* estraier.c (est_inode): a bug related to overflow was fixed.
* estraier.c (est_narrow_score): a bug related to attribute distinction was fixed.
* estraier.c (est_search_union): search accuracy with trailing uni-gram was improved.
* estmaster.c (searchlocal): a bug related to scanning with regular expressions was fixed.
* estscout.c (realmain): "union", "score", and "idsuffix" attributes were added.
* estsupt.c (realmain): "score" attribute was added.
* estsupt.c (procsearch): accuracy of hint was improved.
* estsupt.c (realmain): "logmsg" parameter was added.
* estscout.c (realmain): "distinct" parameter was added.
* estscout.c (showresult): cache clear at random was added.
- Release: 1.4.11
ここのところ精力的に ML に投げられてたパッチはマージされてなさげ? pthreadsライブラリのないシステムで動かしたいんですが
なんとかならんですかね。 Chimera Search(キメラ・サーチ)
http://www.osstech.co.jp/product/chimera
> 構築コンポーネントに以下のOSS(オープンソースソフトウェア)を利用
> しているため、安価に導入できるのに高性能・高機能を発揮します。
> * プログラム言語: Rubyおよび Ruby On Rails
> * 全文検索システム : Hyper Estraier
百度でやってるように
會→会
懷→懐
みたいに異体・旧字体・繁体・簡体をまとめてくれるといいのに。
estraier.c のなかの canonize なんとか関数に誰かちょっちょっと書き加えてくれ。 >>53
こういう製品って虚しいよね。
だって、導入60万、年12万だったらGoogle MINIの方が
安いし、ハードウェア込みの提供だからメンテフリーだし。
実際,うちの会社はWWW用はGoogleMINI にした。
部内サーバは自分でHyper Estraierをいれた。
>>55
それはそうなんだが、Google MINIってちっとも社内のニーズに合わせてくれなくて不満がでるんだよな。
ページの計算もなんか適当に丸められちゃうし。 コレ使って、某サイトの1万件の記事の全文検索作ったが早いし良いね!!
acts_as_searchableの未完成具合に泣いたけどww
Rails系のエンジニアに聞くと皆使ってるし、
結構いろんなサービスでも使ってるみたい。 最新版のWindows版のバイナリパッケージを配布して欲しい...
(  ̄0 ̄)Ψ 誰かぁぁ PHP-nativ binding を作ってぇ〜 クローラー+ノードサーバーを使用した検索をシステムを動かし
http://*****:1978/node/***/search_ui の形式で検索には成功しました。
次ステップで
estraierpure.rb を PHP に移植したという 「EstraierPure for PHP 4.3」を使用し、ClassNodeを利用しましたが、検索結果に同じサイトばかり表示されてしまいます。
1:Pure版には 類似隠匿機能はないのでしょうか。
Ruby、Javaにもないようですし..
2:Binding版(Perl等)には、類似隠匿機能(set_eclipse)があるのですが、classNode がありません。
Binding版で、P2P(ノード)利用した検索をシステムって可能なのでしょうか。
CPAN(Search-Estraier)を観ましたが、classNodeがあったのですが、set_eclipseがありませんでした
3:そもそもBinding版とPure版の違いってなんでしょうか。(汗
全く、的外れな質問でしたらお許しください
やりたいのは、「P2P+クローラーでの検索サーバーの構築」です。 ノードAPIの場合、est_noderes_eclipse関数。
Pureには、実装されてないようです。
>そりゃ俺がやるから使う側は楽なんだけどさ、面倒くせーことこの上ない。
ttp://qdbm.sourceforge.net/mikio/rbbs.cgi?id=RA11306060711414945086 5年ぶりになまずを再インストールしたらすごくまともになってた。これでいいじゃん。 面倒くせーですか.... Cでやってみましょうか..15年ブリ(鬱 いくらなんでも鯰でいいはないだろ…
検索漏れ大杉でとても使う木になれん namazu+kakasi じゃなくて 鯰+和布蕪ってこと?
>>66
Cで組むならQDBMの使いこなしが必要。
関数になれましょう 景気よくageます.
Windows版バイナリパッケージのverは1.4.10で止まったままなんでしょうか.
どなたかビルドしておられたらありがたいですが
辞書データ変換ツール一般についてと
(製品版のデータを全部持った)体験版のデータ変換についての話が
入り乱れてないか?
これ、データーベース(QDBM)が壊れまくり。
DBが開いた状態で、プロセスが落ちると100%ぶっ飛ぶ
速いらしいが、こんなん怖くて使えないわ。
どうでもいいような、無くなってもいいデータしか扱えないわ。
さてと、1000万件のデータ、ゼロから収集だわ(鬱
なんとかならんでしょうかね 俺もbsfilterでqdbm使ってたらすぐ壊れたんでsdbmに変えた・゚・(つД`)・゚・ >>77
よかったな! sdbmの方が圧倒的に速いぞ。
まぁ〜、トラック と
ノーヘルどころか、頭蓋骨すらない脳味噌丸出しのバイク便の差。
高速道路で同じ荷物を運んで どっちの運ちゃんが逝くかは明白。
シートベルト程度の防御は欲しいけど、速さと安全は成り立たないだろね。
RAMにカキコされたキャッシュ程度のモンよ
HE+Tokyo Cabinet に変わるまで待てよ TC ってさらに速さを追求したライブラリなんじゃネーの?
安全性上がるのか? ああ、
http://alpha.mixi.co.jp/blog/?p=90
> 耐障害性の向上 : データベースファイルが壊れにくい
って書いてあるな。
速度だけでなく安全性も向上するのか。 http://alpha.mixi.co.jp/blog/?p=98
> QDBMにおいては、データベースを開いているアプリケーションが異常終了した場合、
> もしくはデータベースを適切に閉じずに終了した場合は、データベースが壊れるように
> していました。それらは明白なバグであり、アプリケーションの作者やそれを使うことを
> 選択したユーザに何らかの意識的な対処を求めることが適切であると考えたからです。
> (中略)
> しかし、上記のような理想主義と「上から目線」では現実の問題に対処できないことを
> 近ごろ感じはじめました。マナーを守らない/守れないユーザやユースケースも結構な
> 割合で存在するのが現実なのです。したがって、TCは、マナーを守らないアプリケー
> ションやそのユーザにも宥和する戦略に転換しました。
突然の停電とか当たり前に起こりうる事態なんだから、
バグとかマナーとかそういう問題じゃないと思うんだよな…
アプリにバグが無くても OS の不具合で落ちることなんかしょっちゅうだしな。 サバイバビリティの概念がないソフトウェア設計者がいるのか。
能力的に対処できないということはなさそうだから、
実世界の面倒くさいことから逃避するための言い訳か。
> アプリにバグが無くても OS の不具合で落ちることなんかしょっちゅうだしな。
そんな事がしょっちゅうあるようなOSは使わないのが普通。
開発者がアレだとユーザもアレなのが集まるというのを実感しないでもない。 >>86
おまえは Windows を使ったことがないのか? ●ノードマスタの異常終了(再起動シナイ)
サーバールートdirの _pid と _stop の削除
●DBの復旧
estcmd repair index_path
共有鯖で、クローラーを動かしてますが、突然、
「out of memory」で止まってしまいました。( p_q)エ-ン
クローラールートディレクトリ(rootdir)内が飛んだようで
以後、
estwaver crawl rootdir で 「could not open」となり起動できません。
メモリが少ないのはわかるのですが、先日までは正常に動作してました。
rootdirの復活方法など対処方法を教えてください (o*。_。)oペコッ >>85,86
耐障害性の確保は上位層でやれってことだろ。
オーバーヘッドを減らすためには妥当な技術選択だ。
あんたらが考えてるくらいのことはとっくに考えてるはずだよ。
その例としてTokyo Tyrantでちゃんと耐障害性を確保しているしな。
http://alpha.mixi.co.jp/blog/?p=147
これベースでHEを作ってくれないかなぁ。
mixi.jp 内で動いているエンジンを表に出して欲しい。
>>92
中見てないけどtokyoestraierってのがそうじゃないの?
>>92
選択肢の一つではあるが、技術的に妥当な選択だとは思わないな。
用途が制約される(上位層やユーザがその要求を履行するのは難しい)という点で。 トレードオフのある技術選択において何が妥当かはユースケース次第だろう。
consistencyを真面目に考えたらそれこそスタンドアロンでは実現できないし。
DesktopHEでファイルサイズとテキストサイズの上限を調整する方法教えてくれよ。