全文検索エンジン Hyper Estraier 2at UNIX
全文検索エンジン Hyper Estraier 2 - 暇つぶし2ch141:名無しさん@お腹いっぱい。
08/07/25 15:21:53
>>139

うぅ、バカに救いの手をありがとうございます。orz
少しインデックス化できた文章が増えたので、イケルか!と思ったんですが、
値を倍位に変更しても、それ以上は増えなくて、やっぱり途中で切れちゃってる。_| ̄|○|||
( -t 10 => 500とかもしてみたけどダメだった…)

なにげに、
$ pdftotext -enc UTF-8 -htmlmeta "pdfファイル"
これでやってみると、きちんとオワリまで文章がテキスト化されているみたい。

新たに発覚したんだけど、どうもpdf文章の途中でたまたま出てくる「<<」の記号から、
「>>」の所まで、ごっそり文書がインデックス化されてないっぽい。(゚ロ゚;))((;゚ロ゚)オロオロ

すまん、かえって混乱させてるかも。。
というか、自分混乱してる。

142:fumiyas
08/07/26 02:26:06
>>141

ああ、わかった…。(たぶん)
pdftotext のバグですね。

pdftotext -enc UTF-8 -htmlmeta "$infile" - 2> "/dev/null" | output

の部分を:

pdftotext -enc UTF-8 -htmlmeta "$infile" - 2> "/dev/null" \
|sed '/<pre>/,/<\/pre>/{s/&/\&/g;s/</\</g;s/>/\>/g}' \
| output

とでも書き換えてみてください。(これだと「pre」が単語として登録されてしまうが…。)

# sed 's/ -htmlmeta / -raw -nopgbrk /' /usr/bin/estfxpdftohtml > /usr/bin/estfxpdftotext
# chmod 755 /usr/bin/estfxpdftotext

とでもして、

$ estcmd gather -cl -fx ".pdf" "T@estfxpdftotext" -fz -ic UTF-8 -il ja -lf -1 -lt -1 -sd -cm casket ./

とするとか。


143:名無しさん@お腹いっぱい。
08/07/26 11:00:18
>>142
あんただれ?

144:名無しさん@お腹いっぱい。
08/07/28 14:06:44
>>142

ホントすいません、付き合って頂いちゃってありがとうございます。
pdftotext のバグですか!?
だとすると、こんなド素人に使いこなすのは難しくなっちゃうかも。。現状で満足せなあかんですかね(;´ー`)

スクリプトありがとうございます(人-)
ただかなり初歩的な部分で分からないところが…(滝汗) そもそも sed がイマイチ分かってないしょっぱい自分…

> # sed 's/ -htmlmeta / -raw -nopgbrk /' /usr/bin/estfxpdftohtml > /usr/bin/estfxpdftotext
> # chmod 755 /usr/bin/estfxpdftotext

estfxpdftohtml や estfxpdftotextは /usr/local/share/hyperestraier/filter にあって
/usr/bin には無かったりするんですが、その辺は読み替えろよこんちくしょう的な感じでしょうか…?(゚Д゚;)アワワ
それともそのままやっちゃっても大丈夫的な感じでしょうか?


145:fumiyas
08/07/29 13:53:59
>>144

まずは pdftotext のバグについて。
pdftotext は -htmlmeta オプションを付けると PDF に含まれる
本文のテキストを簡単な HTML にして、プラス文書情報 (Adobe Reader なら
[File] - [Properties] で表示される情報) を HTML の <meta> に
含めてくれますが、PDF 本文のテキストは <pre> で囲まれるだけで
その中に含まれる <, >, & を <, >, & に変換してくれません(バグ)。
なので PDF に「<HTMLのタグではない適当な文字列>」という文が含まれていると、
estcmd がそれを HTML のタグと認識してしまい、削除してしまいます。

sed がやっていることですが、<pre>~</pre> の間の <, >, & を
<, >, & に変換しているだけです。

最後に estfxpdftohtml(text) の置き場所ですが、私の手元の Debian の
hyperestraier パッケージでは /usr/bin に置かれているというだけで、
そっちの環境で /usr/local/share/hyperestraier/filter なら、
そっちに合わせて ↑ に置くのがいいと思います。

# sed 's/ -htmlmeta / -raw -nopgbrk /' \
/usr/local/share/hyperestraier/filter/estfxpdftohtml \
>/usr/local/share/hyperestraier/filter/estfxpdftotext

>>143
ハンドル(?)をググると出てくるので、そっちをどうぞ。:-)


146:fumiyas
08/07/29 13:57:46
ありゃ? 「&lt;」(実際は半角)とかが「<」に変換されちまった…。
どうしたらいいの? ま、いいか。

147:fumiyas
08/07/29 15:56:25
初心者板で聞いてきました。「&amp;amp;」って書くのね…。

pdftotext -enc UTF-8 -htmlmeta "$infile" - 2> "/dev/null" \
|sed '/<pre>/,/<\/pre>/{s/&/\&amp;/g;s/</\&lt;/g;s/>/\&gt;/g}' \
|output

その中に含まれる <, >, & を &lt;, &gt;, &amp; に変換してくれません(バグ)。

148:名無しさん@お腹いっぱい。
08/07/30 18:50:03
>>147

す・すすごい!!できたできました!!(・∀・∀・)
ごっそり抜けちゃってた文章も、タグだと誤解されてしまってたんですね。
きちんとインデックスに戻ってきました、戻ってきましたよ!!щ(゜ロ゜щ) カモ-ン

天才ですかfumiyasさま… (シ_ _)シ ネ申 >>147
ほんにありがとうございます。

確かにインデックスの方には <pre> が単語化されているようですが、
これはもう、しょうがないですよ…ね…?

はぁぁ、感動しちゃいました。(;∀; )

149:fumiyas
08/08/01 01:35:58
>>148
解決されたようでなによりです。
「pre」が気になるようなら、上で書いたように estfxpdftohtml
の代わりに estfxpdftotext でもどうぞ。estcmd の -fx オプションの
値を変更するのを忘れないように。


150:HE@SHE
08/09/27 02:48:36
Hyper Estraierで、URI属性をフレーズ検索の対象とする方法はありますでしょうか。


151:名無しさん@お腹いっぱい。
08/10/02 13:47:11
すみません教えてください。
ファイルサーバ(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。

152:名無しさん@お腹いっぱい。
08/10/02 14:23:09
Unknown character collection 'Adobe-Japan1' でググっても解決しないの?
xpdf-japanese とやらを入れてる?

153:名無しさん@お腹いっぱい。
08/10/02 14:29:43
URLリンク(www.foolabs.com)
にある
xpdf-japanese.tar.gz
は入れた?

154:名無しさん@お腹いっぱい。
08/10/02 15:11:58
ありがとうございます。
xpdf-japaneseはapt-getだと入らないのですよ…何でか分からないけど。

155:名無しさん@お腹いっぱい。
08/10/02 15:19:29
そうですか。私にも何でか分かりません。

156:151,153
08/10/02 16:59:34
解決しました。

xpdf-commonをapt-getでインストール、
cmap-adobe-japan1を取ってきてdpkgでインストール、
さらに/etc/xpdf/xpdfrcに
include /etc/xpdf/xpdfrc-japanese.dpkg-new
を書き加えればOKでした。

apt-getしか使えない男にお付き合いいただきありがとうございました。
お邪魔しました。


157:名無しさん@お腹いっぱい。
08/10/02 17:05:15
ファイルを指定ディレクトリに置くだけだからapt-getイラネですよ。
DLしてtar xvfzしてREADMEだかINSTALLだか読めば分かると思う。

158:名無しさん@お腹いっぱい。
08/10/20 15:21:23
tokyo estraierはここ以外で存在が話題になっていないんだけど
商用、あるいは公用の検索システムに勝手に使っちゃっていいんだろうか

159:fumiyas
08/10/27 11:44:33
>>158
GPL と LGPL だし、問題ないでしょ。(たぶん :-)
で、tokyo estraier どんなくらい試しました?


160:名無しさん@お腹いっぱい。
08/10/28 18:27:33
>>159
>>158じゃないけれど
普通にインデックスして普通に検索出来て普通に遊べて…
これ、本当にインデックス時にTokyoCabinet使ってるのか不安になってきた

161:名無しさん@お腹いっぱい。
08/10/28 18:40:31
データベースファイルの先頭バイトを覗いたら、[depot]って書かれてたりして

162:名無しさん@お腹いっぱい。
08/10/28 21:50:58
>>161
う…_attrフォルダの中に「depot」ファイルがあるんだが

163:名無しさん@お腹いっぱい。
08/10/29 10:07:46
過去のバージョンと、Windows版のバイナリパッケージのページが落ちてるようなんだが。
UNIX板でアレだけどWin版の1.4.10持ってる人だれか上げてくれないかな…

164:名無しさん@お腹いっぱい。
08/10/29 11:16:02
>>163
URLリンク(www2.uploda.org)

165:名無しさん@お腹いっぱい。
08/10/29 11:38:31
ディレクトリ一覧がデフォルトでは表示されなくなっただけなので
正確なファイル名が分かるとか、検索サイト等のキャッシュから手繰るとかで
落とせますよ。

URLリンク(hyperestraier.sourceforge.net)


166:名無しさん@お腹いっぱい。
08/10/29 11:47:50
>>164
>>165
ディレクトリ一覧が表示されないだけだったのか。
ありがとう、助かりました。
お早いレスで俺涙目。

167:名無しさん@お腹いっぱい。
08/10/29 18:47:28
Tokyo Estraierってどこにあるの?

168:名無しさん@お腹いっぱい。
08/10/30 00:44:04
Windows環境でMecabを使いたいんですけど、可能ですか?
試した手順は、下記になります。
前提:WindowsXP、Cygwin環境
1、Mecab0.97と辞書のビルド
2、下記サイトを参考にし、qdbmとHyperEstraierのビルド
URLリンク(www.shinonon.dyndns.org)
HyperEstraierのビルドで--enable-mecabとしましたが、
その後のmakeでエラーとなります。

169:名無しさん@お腹いっぱい。
08/10/30 14:21:13
>>167
URLリンク(hyperestraier.sourceforge.net)

ベースはHyper Estraier1.4.13
ソース見ると確かにTokyo Cabinetのincludeが入ってるんだが
実際に使われてるのかちと分からん
QDBMも一緒に入ってないとエラー出るし

ところで100万以上の文書を対象にインデックス作ると想像以上に遅いんだな…
1秒以下でパパッと結果が表示されるのは何件くらいが限度なんだろ

170:fumiyas
08/10/30 18:22:25
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 の設定等を教えてもらえると嬉しいです。


171:名無しさん@お腹いっぱい。
08/12/08 22:30:47
Hyper Estraierについて質問させてください。

Windowsで一回動かしたんですが、cygwinのパスで結果が表示されてしまうので、
うれしくないと思い、VMware2.5.1 build-126130 でUbuntu7.10を動かし、
そちらでestcmd gather を走らせました。Hyper Estraier1.4.9です。

Apacheはxamppを使いました。URLリンク(localhost) は正常に表示されてると
思います。1.6.8aと出ています。あとphp5もスタートさせました。

でも、URLリンク(localhost) にアクセスすると、
Error: the configration file is misshing.とか出ます。

/opt/lampp/cgi-bin/estseek.cgi と同じフォルダに estseek.confは置いてます。
estcmd search casket 'ほげほげ'
とかはちゃんとHITして結果が出てきます。

Errorが出てくる原因は何でしょうか。分かる方教えてください。

172:171
08/12/09 22:34:48
自己レスです。よく分かりませんが
estseek.conf
estseek.tmpl
estseek.top
をchmod 744 したら動きました。失礼しました。

173:名無しさん@お腹いっぱい。
08/12/12 00:50:50
>>53
すげー遅レス失礼。
HEの情報収集中→WikipediaのHEのエントリ→ >>53 の製品ページ
って感じでその製品を知ったんだけど、GPLって書いてるくせに
ソースコードダウンロードのリンクをたどってもソースコードがないんだけど、
これってどうなの?

URLリンク(www.osstech.co.jp)

つーか、会社概要見たけど、中の人がこのスレにいるのか。

174:名無しさん@お腹いっぱい。
08/12/12 01:21:53
>>173
別に公開する必要は無い。
会社側からするとChimera Searchのバイナリとあわせてソースコードを提供する、
もしくはバイナリにソースコードの入手方法が明記された文書を添えておけばいい。

GPLv2での3-aと3-bね。

175:173
08/12/12 19:40:13
>>174
そうなんだ。どうもありがと。
Webページ見たけど個人お断りみたいな事書いてあったな。

関係ないけどGPL v2日本語訳の原文へのリンクが間違ってるね(v3にリンクされてる)。

176:名無しさん@お腹いっぱい。
08/12/12 20:12:53
GPLはちゃんと読んでない人は世間の評判から誤解しやすいライセンスだから、
批判するんだったらちゃんと読んで理解してからにした方がいい。

177:名無しさん@お腹いっぱい。
08/12/16 17:55:27
>>173
これ読むといいよ。
URLリンク(web.archive.org)

178:名無しさん@お腹いっぱい。
09/02/01 02:03:25
>>47にも書いてるけど,属性検索ができない.
Wikipediaの全文検索デモページで試してみたけど効果なし...

179:名無しさん@お腹いっぱい。
09/02/08 23:47:35
疑似ノードマスタって、認証なしなの?
通常のノードマスタみたいにユーザとパスを設定できないの?

180:名無しさん@お腹いっぱい。
09/02/09 01:33:22
estcmd outで文書の一括削除はできますか?

181:名無しさん@お腹いっぱい。
09/02/13 23:47:32
Windows版のバイナリ落としてindexだけはコマンドで作ってみたんですが
JavaのAPI使ってファイル検索や全文検索を行うサンプルコードが載って
いるサイトとかってないですかね?
web環境ないのでSwingから直で操作したいのですがAPIの使い方がよくわかりません・・
初歩的な質問ですいません。

182:名無しさん@お腹いっぱい。
09/02/23 06:47:28
Unix板なのに申し訳ないのですが、Ubuntu Intrepid64bit版を使っています。
mecabを組み込みたかったのでソースからビルドしましたが、ライブラリとしてregexp.hだけ認識されないのでビルドできません。
32bitの時も同様だったのですが、こちらはネットでダウンロードしたライブラリをつっこんでインストール迄無事に成功しました。
aptitude search lib | grep -i regexp などで見つけたものを次々インストールしてみましたが全くお手上げです。
必要なライブラリについてご存知の方いませんか?

183:名無しさん@お腹いっぱい。
09/02/23 09:04:47
>>182
やったの去年だからよく覚えてないけど
ふつーのUbuntuならソフトウェアの一覧に普通に入っていた気がする

184:名無しさん@お腹いっぱい。
09/02/23 17:49:55
aptで入るね

185:182
09/02/24 06:22:35
>>183-184
レス有難うございます、結局手順を忘れていただけで、32bit版でと同様の事をすればいいだけですんなりビルド成功。
aptでlibc-dev(これですよね?)を入れてもlibregex.aがないので、URLリンク(arglist.com)からregex3.8a.tar.gzを落してビルドし~/lib ~/includeに放り込む。
似たような事で困っている方は試してみて下さい。
どうもお騒がせしました。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch