全文検索エンジン Hyper Estraier 2
>>147
す・すすごい!!できたできました!!(・∀・∀・)
ごっそり抜けちゃってた文章も、タグだと誤解されてしまってたんですね。
きちんとインデックスに戻ってきました、戻ってきましたよ!!щ(゜ロ゜щ) カモ-ン
天才ですかfumiyasさま… (シ_ _)シ ネ申 >>147
ほんにありがとうございます。
確かにインデックスの方には <pre> が単語化されているようですが、
これはもう、しょうがないですよ…ね…?
はぁぁ、感動しちゃいました。(;∀; ) >>148
解決されたようでなによりです。
「pre」が気になるようなら、上で書いたように estfxpdftohtml
の代わりに estfxpdftotext でもどうぞ。estcmd の -fx オプションの
値を変更するのを忘れないように。
Hyper Estraierで、URI属性をフレーズ検索の対象とする方法はありますでしょうか。
すみません教えてください。
ファイルサーバ(Xとか入れてません)として使っているetchにHyper Estraierを入れてわりと経つのですが、
pdfの日本語がインデックスに入っていないことに気付きました。
いろいろ調べて、ひとまずpdftotextが日本語を変換してくれてないのだ、と分かりました。
degas@debian:~$ pdftotext 日本語入りのpdf.pdf
Error: Unknown character collection 'Adobe-Japan1'
:
Error: Unknown character collection 'Adobe-Japan1'
ってな状況ですorz。xpdfはapt-getでhyperestraierをインストールするときに
推奨パッケージでxpdf-utilsを入れたので、大丈夫だと思っているのですが…。
念のためいまxpdfも入れてみましたが、同じエラーが出ます。
指針が有ればお願いしますm(_ _)m。 Unknown character collection 'Adobe-Japan1' でググっても解決しないの?
xpdf-japanese とやらを入れてる? ttp://www.foolabs.com/xpdf/download.html
にある
xpdf-japanese.tar.gz
は入れた? ありがとうございます。
xpdf-japaneseはapt-getだと入らないのですよ…何でか分からないけど。 解決しました。
xpdf-commonをapt-getでインストール、
cmap-adobe-japan1を取ってきてdpkgでインストール、
さらに/etc/xpdf/xpdfrcに
include /etc/xpdf/xpdfrc-japanese.dpkg-new
を書き加えればOKでした。
apt-getしか使えない男にお付き合いいただきありがとうございました。
お邪魔しました。
ファイルを指定ディレクトリに置くだけだからapt-getイラネですよ。
DLしてtar xvfzしてREADMEだかINSTALLだか読めば分かると思う。 tokyo estraierはここ以外で存在が話題になっていないんだけど
商用、あるいは公用の検索システムに勝手に使っちゃっていいんだろうか >>158
GPL と LGPL だし、問題ないでしょ。(たぶん :-)
で、tokyo estraier どんなくらい試しました?
>>159
>>158じゃないけれど
普通にインデックスして普通に検索出来て普通に遊べて…
これ、本当にインデックス時にTokyoCabinet使ってるのか不安になってきた データベースファイルの先頭バイトを覗いたら、[depot]って書かれてたりして >>161
う…_attrフォルダの中に「depot」ファイルがあるんだが 過去のバージョンと、Windows版のバイナリパッケージのページが落ちてるようなんだが。
UNIX板でアレだけどWin版の1.4.10持ってる人だれか上げてくれないかな… >>163
ttp://www2.uploda.org/uporg1754116.zip.html ディレクトリ一覧がデフォルトでは表示されなくなっただけなので
正確なファイル名が分かるとか、検索サイト等のキャッシュから手繰るとかで
落とせますよ。
ttp://hyperestraier.sourceforge.net/win/hyperestraier-1.4.10-win32.zip
>>164
>>165
ディレクトリ一覧が表示されないだけだったのか。
ありがとう、助かりました。
お早いレスで俺涙目。 Windows環境でMecabを使いたいんですけど、可能ですか?
試した手順は、下記になります。
前提:WindowsXP、Cygwin環境
1、Mecab0.97と辞書のビルド
2、下記サイトを参考にし、qdbmとHyperEstraierのビルド
ttp://www.shinonon.dyndns.org/diary/20071212.html
HyperEstraierのビルドで--enable-mecabとしましたが、
その後のmakeでエラーとなります。 >>167
ttp://hyperestraier.sourceforge.net/past/tokyoestraier-0.0.1.tar.gz
ベースはHyper Estraier1.4.13
ソース見ると確かにTokyo Cabinetのincludeが入ってるんだが
実際に使われてるのかちと分からん
QDBMも一緒に入ってないとエラー出るし
ところで100万以上の文書を対象にインデックス作ると想像以上に遅いんだな…
1秒以下でパパッと結果が表示されるのは何件くらいが限度なんだろ TE コンパイルしてみた。`estcmd create db` だけ試した。
>>162
_idx 以外は QDBM を使ってるんで、_idx だけ見てごらん。
$ /usr/local/tokyoestraier/bin/estcmd crete db
$ strings db/_idx/0001
ToKyO CaBiNeT
1.0:510
>>169
HE ソースとの diff とってみればわかるけど、一部のみ TC, ほかは QDBM。
ちなみに、`estcmd repair db` 時に _idx 以下は何もしないようになっている。
いいのか? いまのところ DB の構成を把握していないのでよくわからんが、
_idx が転置インデックス? ほかは? 知っている人、教えて…。
あと 100万以上の文書は試したことないんでアレなんだけど、
参考までにハードウェアの構成とか、estcmd create に
指定したオプション (estcmd を使っているなら。-xh 付けたの?)、
estmaster の _conf の設定等を教えてもらえると嬉しいです。
Hyper Estraierについて質問させてください。
Windowsで一回動かしたんですが、cygwinのパスで結果が表示されてしまうので、
うれしくないと思い、VMware2.5.1 build-126130 でUbuntu7.10を動かし、
そちらでestcmd gather を走らせました。Hyper Estraier1.4.9です。
Apacheはxamppを使いました。http://localhost/xampp/ は正常に表示されてると
思います。1.6.8aと出ています。あとphp5もスタートさせました。
でも、http://localhost/cgi-bin/estseek.cgi にアクセスすると、
Error: the configration file is misshing.とか出ます。
/opt/lampp/cgi-bin/estseek.cgi と同じフォルダに estseek.confは置いてます。
estcmd search casket 'ほげほげ'
とかはちゃんとHITして結果が出てきます。
Errorが出てくる原因は何でしょうか。分かる方教えてください。 自己レスです。よく分かりませんが
estseek.conf
estseek.tmpl
estseek.top
をchmod 744 したら動きました。失礼しました。 >>53
すげー遅レス失礼。
HEの情報収集中→WikipediaのHEのエントリ→ >>53 の製品ページ
って感じでその製品を知ったんだけど、GPLって書いてるくせに
ソースコードダウンロードのリンクをたどってもソースコードがないんだけど、
これってどうなの?
ttp://www.osstech.co.jp/product/chimera#%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89
つーか、会社概要見たけど、中の人がこのスレにいるのか。 >>173
別に公開する必要は無い。
会社側からするとChimera Searchのバイナリとあわせてソースコードを提供する、
もしくはバイナリにソースコードの入手方法が明記された文書を添えておけばいい。
GPLv2での3-aと3-bね。 >>174
そうなんだ。どうもありがと。
Webページ見たけど個人お断りみたいな事書いてあったな。
関係ないけどGPL v2日本語訳の原文へのリンクが間違ってるね(v3にリンクされてる)。 GPLはちゃんと読んでない人は世間の評判から誤解しやすいライセンスだから、
批判するんだったらちゃんと読んで理解してからにした方がいい。 >>173
これ読むといいよ。
http://web.archive.org/web/20041024013051/http://home.catv.ne.jp/pp/ginoue/memo/gpl.html >>47にも書いてるけど,属性検索ができない.
Wikipediaの全文検索デモページで試してみたけど効果なし... 疑似ノードマスタって、認証なしなの?
通常のノードマスタみたいにユーザとパスを設定できないの? estcmd outで文書の一括削除はできますか? Windows版のバイナリ落としてindexだけはコマンドで作ってみたんですが
JavaのAPI使ってファイル検索や全文検索を行うサンプルコードが載って
いるサイトとかってないですかね?
web環境ないのでSwingから直で操作したいのですがAPIの使い方がよくわかりません・・
初歩的な質問ですいません。 Unix板なのに申し訳ないのですが、Ubuntu Intrepid64bit版を使っています。
mecabを組み込みたかったのでソースからビルドしましたが、ライブラリとしてregexp.hだけ認識されないのでビルドできません。
32bitの時も同様だったのですが、こちらはネットでダウンロードしたライブラリをつっこんでインストール迄無事に成功しました。
aptitude search lib | grep -i regexp などで見つけたものを次々インストールしてみましたが全くお手上げです。
必要なライブラリについてご存知の方いませんか? >>182
やったの去年だからよく覚えてないけど
ふつーのUbuntuならソフトウェアの一覧に普通に入っていた気がする >>183-184
レス有難うございます、結局手順を忘れていただけで、32bit版でと同様の事をすればいいだけですんなりビルド成功。
aptでlibc-dev(これですよね?)を入れてもlibregex.aがないので、http://arglist.com/regex/からregex3.8a.tar.gzを落してビルドし~/lib ~/includeに放り込む。
似たような事で困っている方は試してみて下さい。
どうもお騒がせしました。 作者ページのタイトルがうざくなってるんだが、改ざんされたのかな 特に変わったようには見えないが。
> Last-Modified: Tue, 25 Dec 2007 01:47:27 GMT
だし。 >>186
ソースみてみ。アクセスしたタイミングで表示されるものが変わるようになってる。
しかし作者タソはmixiに就職してからH.E.のほうには全然顔出さなくなったな。 ソース見てみた、何じゃこりゃ。
> case 59: name = "ちょwwwおまwwwいごww"; break;
> case 61: name = "どう見ても超迷子です本当にありがとうございました"; break;
> From: [783] 名無しさん@お腹いっぱい。 <sage>
> Date: 2006/09/17(日) 07:52:41
>
> case 59: name = "ちょwwwおまwwwいごww"; break;
> case 61: name = "どう見ても超迷子です本当にありがとうございました"; break; 検索してもHitしないってことはなにが考えられるのかな?
登録文書に検索語句は確実にあるし、DBも壊れていない・・・ ごめん、壊れてたみたい。
estcmd inform で壊れてるかどうかわかんないんだよなあ・・・ >>192
そうなの?おれもestcmd inform で情報出てきたら平気だと思ってた。
どうやって壊れてる判定したの?
>>193
絶対に登録文書にある文字列を検索しても出てこなかったので。
再構築で直りました。
インデックスが壊れているかどうか調べるコマンドが欲しい。 estcmd repair を、時々やらないと駄目ってことですかね。
(-_-;ウーン たまに治らないときもあるし..
-- 追記お願いします m(_ _"m)ペコリ---------
【テク1】ノードマスタが再起動しない・・正常に停止しないとこうなる
サーバールートDirの _pid _stop の削除
【テク2】DBがdでるっぽい
#estcmd repair index_path
ex.ノードサーバー利用時は(サーバールートをcasketなら)
#estcmd repair casket/_node/ノード名
【テク3】estwaver crawl時の「could not open」エラーの解決法
クローラールートディレクトリを crawl_dir と仮定して Code:
#cd crawl_dir
#estcmd repair _index
#dpmgr repair _trace/0001/depot
#dpmgr repair _trace/0002/depot
#dpmgr repair _trace/0003/depot
>>195
>>estcmd repair を、時々やらないと駄目ってことですかね。
repairを一回やってみたんだ。直ったかなと思って、それでも念の為に
もう一回repairしてみたんだ。登録文書がごっそり減ったんだ。
repairを繰り返す度に減っていくんだ・・・
あきらめて再構築したよ。
>repairを繰り返す度に減っていくんだ・・・
((( ;゚Д゚)))ガクガクブルブル
「特定のキーワードにヒットしたを、DBから削除する」 なんてことできますか?
「特定のキーワードにヒットさせない」でもいいかなー Estraierで2chのログファイルを全文検索してJaneで表示できないでしょうか。
DATファイルを全文検索に入れるだけじゃなくて、名前やスレタイで絞り込めれば最高なのですが。
DesktopHEで利用しようとしております。 >>197
私も探してみたけど、そのものは無いみたい。
よくやる作業ならcgiとか作るんじゃないかな。
コマンドから手作業するときは、例えばこんな感じ。
消したいやつを検索して
estcmd search -vu -attr '@uri STRINC /path/to/del/' _index BadWord
OKなら上のコマンドに以下を追加
|awk '$1 ~ /^[0-9]+/{print $1}' |while read id; do estcmd out -cl _index $id; done >>198
出来ないことはないと思うけど、面倒くさいかもね。dat2htmlのフィルタ作って読みこませて、
DesktopHEの関連付けはjaneにすればいいみたいな。
私はhtmlに変換してブラウザで全文検索してる。そういう人の方が多いと思うけど。
>>200
速レスありがとう。
htmlに変換してって毎日巡回するたびにdat2html走らせてるの?
それとも真夜中にバッチ処理?
いずれにせよ、HDD容量が倍必要ですよね? >>201
>>毎日巡回するたびにdat2html走らせてるの?
そうだよ。1時間ごとにdat2htmlを走らせてる。ロードアベレージを見て負荷が大きいときは処理しないようにしている。
ログは8GBくらいある。datファイルは定期的に削除している。
ウェブブラウザから検索できるので、LAN内で利用出来て重宝している。
>>202
うちもログは6Gぐらいあります。
全部変換するとなると15gぐらいいきそうですよねorz
Windowsだからロードアベレージ監視できないのと、指定したコテハンがNASDAQについて
レスした発言とかを知りたくても特定がとてつもなく難しいのがネックになりそう。
Threadsearchと併用しないと駄目ですかね。 XREAで設置しようとしたけど、インストールの段階で躓いたorz
cannot find -liconvとかでてきてるし・・・
libiconvの入れ方に問題があるのかなぁ・・・。 某サイト丸ごと吸い上げようと、
クローラーの設定seeddepthを50にしたら、5時間かかっても1つもインデックスできなかった...
種文書を全部吸い上げてからインデックスするとは知らんかった。
seeddepth1〜2でよさそうね。 Hyper Estraier のwinを使っている方に質問です。
当方初心者。
インストール、インデックス作成まではできました。なんとか。
しかし、estseek.confの内容変更の段で(だと思ってるんですが・・・)つまづいています。
replaceの行の変更はどのようにしたらよろしいのか教えていただけないでしょうか?
何卒よろしくお願いいたします。 >>206
win版も使ったことはありますが、それだけでは何がなんだか分かりません。
estcmd inform casket は通りますか?
Hyper Estraier の画面は出るのですか?
表示のどこかに不満があるのですか?
どうなって欲しくて、現状どうなっているのか書いてください。 ゴミのような2chのログも、こいつを使うと宝の山になる。
はらしょー Hyper Estraier 1.4.10(Win)を利用している者です。
ブラウザの検索結果画面のリンクをクリックしてもジャンプしないという経験をした方はいないでしょうか?
今、その状態です。
検索結果画面のソースを丸々コピーしたhtmlファイルを作成し、それをブラウザに表示し、リンクをクリックすれば目的の文書にジャンプします。
すごく不思議な感じです。ブラウザはIE、sleipnirで確認しました。
どのようにすればジャンプするようになるかおわかりの方、教えていただけないでしょうか?
これは、もうhtmlの問題に過ぎないような気もしますが、よろしくお願いいたします。 鯖、HEてよりは、ブラウザ、クライアントの問題ぽく聞こえる。 >>211
ブラウザは、他にオペラも試しました。同じ結果でした。
クライアントも4人分のLAN接続しているPCから試しました。同じ結果でした。
>>210
仮に文字コードの問題なら、対処法はありますでしょうか?
何卒よろしくお願いいたします。 まずは、本当に文字コードの問題かどうかを確かめるべきです
フォルダ名からファイル名まで完全に英数文字だけのファイルをわざと検索結果として出して
それをブラウザから開くことができれば、文字コードの問題だと思います >>213
>フォルダ名からファイル名まで完全に英数文字だけのファイルをわざと検索結果として出し
やってみました。ダメでした。相変わらずジャンプしてくれません。
考えるに、estseek.conf の replace設定なのかな、と。
これについては、自分でも自信がなかったので、下記に示します。
当方の場合、c:\の直下に「server」のフォルダを作成し、そこに「estseek.cgi」、「casket」等を入れております。
−−−−−−−−−−−−−−−−−−−−−−−−−−−
replace: ^file:///c:\server\{{!}}http://127.0.0.1/
replace: /index\.html?${{!}}/
−−−−−−−−−−−−−−−−−−−−−−−−−−−
このような記載でよろしいのでしょうか? 追記します。
estseek.conf のreplace設定を見直してみました。
試行錯誤の結果、
−−−−−−−−−−−−−−−−−−−−−−−−−−−
replace: file:///c|/server/{{!}}http://サーバPCのIPアドレス/
replace: /index\.html?${{!}}/
−−−−−−−−−−−−−−−−−−−−−−−−−−−
とすることによりまして、
検索結果の画面に緑色で表示される、ヒットした文書ファイルの所在の表示が、
http://サーバPCのIPアドレス/|http://サーバPCのIPアドレス/・・・・・
となりました。
この、「|」を挟んで繰り返される「http://サーバPCのIPアドレス/」の最初の方、および「|」が消えるようになれば、正常動作するような気がします。
これらを消す、なにか良い方法がありましたら教えていただければ助かります。 replaceの設定は元の設定で問題ない感じがします。
むしろ、showlrealの設定が falseの設定になっていると、
当該現象が発生するように思われます。こちらでも、
同様の現象を確認しました。unix で 1.4.13ですが。
こちらでは、ジャンプしない現象も、その後に改善した状況も確認できました。
replace行を拝見すると、C:\server\ 部分のエスケープがされてないようです。
正しくは、C:\\server\\ではないでしょうか?
そして、C:\\server\\の配下に、実際の検索したいデータが存在する必要があります。estseek.cgiや indexファイルではありません。
showlrealの変更で、ジャンプの可否が確認できたら、この行を修正する必要があります。
以下マニュアルより
-------------
replaceは正規表現によってURIを変換するのに使います。複数回指定できます。
先頭にマッチする「^」を駆使すれば接頭辞(ディレクトリ)の変換ができますし、末尾にマッチする
「$」を駆使すれば接尾辞(拡張子)の変換ができます。例えば、「\.htm${{!}}.html」とすると、末尾の「.htm」を「.html」に変換できます。
「{{!}}」の前の部分は正規表現なので、「\」や「.」にはエスケープ文字「\」を前置する必要があることに注意してください。「{{!}}」の後の置換文字列は正規表現ではないので、エスケープは必要ありません。
--------------
>>216
showlreal を「true」にしてみましたが、状況は変わりませんでした。
ジャンプする、しないの問題でいえば、pdfの文書ファイルはジャンプすることが確認されました。
.htmがなぜかジャンプしないのです。
>>217
C:\\server\\と記載し、やってみました。
すると、検索結果の画面に緑色で表示される、ヒットした文書ファイルの所在の表示が、
c:\server\search\・・・・・
となりました。
htmの文書へは、ジャンプしてくれません。
仮にジャンプしてくれても、LAN内のPCからアクセスした場合、当該文書にアクセスできません。
やはり、http://サーバPCのIPアドレス/・・・のように表示されなくてはならないと思います。
まだまだ試行錯誤中・・・ つーかさ、やってることの意味分かってやってる?
別に「そうしないと君のためにならないよ」なんてくだらない説教をしたいからではなく、
何が分かって何が分からなかったのかを言ってくれないと、どこから説明すればいいのか、
どこを質問すればいいのかを、こっちは全部エスパーしなくちゃならないんだよ。
困ってるのは分かってるから、せめて情報の出し惜しみはしないでくれ。
# 素直に読むと、何も分かってない、replace行の動作の意味や正規表現とはなんぞやを
# すべて説明しなくちゃならないように思えるんだけど..... もしかしてそうなの?
もちろん早くなるけど、普通に使うと hyper で hyper estraier には引っかかるけど、hyperestraier には引っかかりません
そういうのを引っかけるようにするにはワイルドカードを使うなど工夫しなくてはなりません 日本語で最速なのはこれっぽいけど
英語で最速なのがどれなにか知りたかったんだ 亀レスにもほどがあるがズバリそのものがあります。
>>198
Datファイル全文検索ソフト
http://frozenlib.net/DatE/
>DatEはHyperEstraierを使用してJaneのログを高速に検索するソフトです。
「file size limit exceeded」で、いきなりダウンしたよ。
システムによって2Gとかのファイル制限あるから、
logファイルの大きさには注意しましょ。
ログの記録レベルを煽りましょう〜 indexサイズが小さくて、もれなく検索できればいい。
あと書庫内検索。重要度順位は入らんから不足無しで出るのが良い。
web用途ではなくデスクトップで使うには
書庫内と不足なしが大事。
順位は無くて良い。開いてみれば済むからな。
これはそういう使い方出来る? 複雑なアルゴリズムはいらない。
Grepの手助け程度で良い。
書庫に対応する。
いいやつ無いですか? 全文検索では全角か半角はどちらかに変換した方がいいと思うのですが。
UTF8や16では、全角のアルファベットは世界共通の配置になってますか。
言語ごとに異なる位置にありますか。
統一した方が良いと思いますが。コード位置がわかりません、 N-gramするうえで文字単位にするかバイト単位にするかはどうすればいいですか。
このソフトはどっちですか。
日本語だと一文字で2バイトか3バイトになります。英語は1バイトにります。
文字単位では日本語一文字と英語一文字の価値が同等になりますが
実際の情報量は日本語の方が大きいです。
英語の2文字か3文字くらいの情報量がありそう。
バイト単位にすると、N=2の時に英字一文字の検索がしにくくなります。 何が言いたいのかさっぱり分かりません!\( ̄∧ ̄)/
# 思いついた単語を羅列してるだけみたいだけど在日? いいえ、自分が理解できないだけなのを認めたくないだけです。 >>231
http://hyperestraier.sourceforge.net/uguide-ja.html#wordextraction
バイト単位ではなく文字単位2-gram
ただし英語はデフォルトで空白区切り、インデックス作成時に英語も文字単位2-gram指定可能
また英語空白区切りでインデックスを作ってもアルファベット一文字の検索は可能、2文字は不可
こんぐらい教えてやれよ、無能なやつばっかだな 分かってんならすぐに教えてやれよ、ノロマだな
という煽りは置いといて、元々の問いは本当にその答えを望んでいたのか?
もしそうだとしても、たぶんその答えの前に「HE内部では全ての文字はUTF-8で扱う」という大前提が必要では?
元々の問い(かどうかも分からない)は、N-gramのアルゴリズムには詳しそうなんだけど、それでいて「日本語は
英語の2文字か3文字くらいの情報量がありそう」とか言い出すし、UTF-8のことを知ってそうだけど知らなそうだし、
N-gramのアルゴリズムにそれだけ詳しいんならユーザガイドをちらっと読めば>>238の答えはすぐに分かるはずだし
ほんと、よく何を言ってるのか分かったね、すごいよあんた >>238 サンクス
いまローカルでgrep手助け用検索開発してる
もれないようにUTF8をバイナリとみてすべての2バイトを記録してみる。 ちょwまて
漏れなしバイナリ検索ならgrepで十分だろ
インデックス化するメリットないぞ mixiで公開してる東京なんとか
とかいう奴はこれの上位版? TokyoCabinetは検索エンジンというよりそのバックエンド、かな? これはなんでこんな速いんだ
転置インデックスだけの速さじゃないよね hyper estraierで3000報の論文を検索しまくったら
予想外に研究が進んで、凶授どもが俺のことを
天才と勘違いしてやがるw
こんなダメ人間に希望を与えてくれた作者氏に
頭が下がる思いです。