トップページunix
987コメント301KB

全文検索エンジンEstraier

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
個人用途向けの全文検索エンジンEstraierに関する話題を扱う
スレッドです。

http://estraier.sourceforge.net/
0402名無しさん@お腹いっぱい。2005/10/19(水) 12:40:09
>>401
レスサンクス。
まさにおっしゃる通りでした。

dllを%systemroot%system32に移動したら、問題なく動きました。
hyperestraierのバイナリの置いてあるディレクトリにはパスは
ちゃんと通してあったんですが、それではダメなようですね。
(付属のドキュメントにも、.exeや.dllのディレクトリにパス通せと
書いてあるだけですし。)
0403名無しさん@お腹いっぱい。2005/10/19(水) 12:49:07
>>402
Apacheの実行ユーザとPathを設定したユーザが違うから、
パスが通ってなかったんじゃないの?
0404名無しさん@お腹いっぱい。2005/10/19(水) 12:49:56
>>399

<script type="text/javascript">function startup(){
var elem = document.getElementById('phrase');
if(elem){
elem.focus();
}
var elems = document.getElementsByTagName('span');
for(var i = 0; i < elems.length; i++){
var cname = elems[i].getAttribute('class');
if(!cname || cname != 'doc_val') continue;
var text = elems[i].firstChild.nodeValue;
if(text.indexOf('http://') != 0) continue;
elems[i].innerHTML = '<a href="' + text + '">' + text + '</a>';
}
}
</script>
0405名無しさん@お腹いっぱい。2005/10/19(水) 12:51:07
estseek.confを上のように書き換えると、「http://」で始まる属性値がリンクになるよ。
(その場合、属性値に「<a>」は不要)
0406およよ2005/10/19(水) 13:35:55
>>405

さっそくのレスありがとうございます。 estseek.tmplのほうでいんですよね(^^;

属性名「Link」で設定してインデックスを作り直してestseek.tmplに追加後検索結果ソースをみてみると

<dd class="doc_attr">Link: <span class="doc_val">http://www.hogehoge.jp/<;/span></dd>

という部分が出力されていました。ご掲載いただいたソースはclassが「doc_val」で「http://」で始まる部分
をみつけたらそのテキスト部分を書き換えるってことだと思うんですがどうもうまくいかないんです。

本当は

<dd class="doc_attr">Link: <span class="doc_val"><a href ="http://www.hogehoge.jp/">http://www.hogehoge.jp/<;/a></span></dd>

と出力されるということでよろしいでしょうか?




0407およよ2005/10/19(水) 13:48:00
>>406

すいません。追記ですが <script type="text/javascript">function startup(){  をいれる位置は

<script type="text/javascript">function startup(){
var elem = document.getElementById('phrase');
if(elem){
elem.focus();
}
var elems = document.getElementsByTagName('span');
for(var i = 0; i < elems.length; i++){
var cname = elems[i].getAttribute('class');
if(!cname || cname != 'doc_val') continue;
var text = elems[i].firstChild.nodeValue;
if(text.indexOf('http://') != 0) continue;
elems[i].innerHTML = '<a href="' + text + '">' + text + '</a>';
}
}
</script>
</head>
<body onload="startup();">
<!--ESTFORM-->
<!--ESTRESULT-->
</body>
</html>

です。

04084042005/10/19(水) 14:04:47
>本当は
><dd class="doc_attr">Link: <span class="doc_val"><a href ="http://www.hogehoge.jp/">http://www.hogehoge.jp/<;/a></span></dd>
>と出力されるということでよろしいでしょうか?

そのつもりだったのだけど、動かないですか。
Firefoxでしかテストしてないんで、もしかしたらIEだとうまくいかないのかな。
もうちょっと調べてみますね。
0409名無しさん@お腹いっぱい。2005/10/19(水) 16:26:50
xyzzy の Estraier-Mode,
> (qでヌケます)
ちょと ワロタ
0410名無しさん@お腹いっぱい。2005/10/19(水) 17:17:27
右手派ってこと
0411およよ2005/10/20(木) 09:25:31
>>408

板違いスンマソン

こちらでも調べてみたんですが やはり火狐ではうまく表示されるんですがIEだとうまくいかないようです。
スクリプトタグをを入れる位置など調整してしてるんですが・・・(^^;

IEで読み込み時にでるスクリプトにエラーがある際の左下のエラーメッセージは表示されていないので
スクリプトの文法エラーは考えにくいですね。



0412名無しさん@お腹いっぱい。2005/10/20(木) 10:36:54
Hyper Estraierを使ったWindows用のデスクトップ検索(みたいなもの)が出たらしい。
http://freemind.s57.xrea.com/desktophe/
0413名無しさん@お腹いっぱい。2005/10/20(木) 11:21:04
>>407
var cname = elems[i].getAttribute('class');

IE だとこれが null 。 elems[i].className を使用すれば解決
0414およよ2005/10/20(木) 11:49:03
>>413

ご指摘のとおりですた。  \^^/

うー jscript・javascriptの違いってことなのでしょうか
このへんもWEB共通仕様でなくていろんな開発者がないている部分なんでしょうね。

いろいろ 板の方々ありがとうございました。
0415名無しさん@お腹いっぱい。2005/10/21(金) 00:28:53
pgestraier - search Hyper Estraier indexes from PostgreSQL
http://pgestraier.projects.postgresql.org/
0416名無しさん@お腹いっぱい。2005/10/21(金) 00:30:46
リンク先はPgFoundryの方がいいか。
http://pgfoundry.org/projects/pgestraier/
0417名無しさん@お腹いっぱい。2005/10/21(金) 01:57:00
pgestraier には期待してるんだけど現状では pg_rast のほうが使いやすいね。
ただ Hyper Estraier と Rast の間には IPA の期間中にそれなりの結果を出し、
その後になるけど正式版もリリースできたという越えられない壁が。
0418名無しさん@お腹いっぱい。2005/10/21(金) 08:18:48
同じインタフェースでpg_estraierを作れないかな。
0419名無しさん@お腹いっぱい。2005/10/21(金) 15:09:06
FreeBSDのhyper estのportって、おかしくありません?

qdbmを再インストールしようとして失敗するのでqdbmを再インストールしてみても、
やっぱり再インストールしようとして失敗する。
0420名無しさん@お腹いっぱい。2005/10/21(金) 15:52:21
1.0.1が出たね。開発速度がすごい。
0421名無しさん@お腹いっぱい。2005/10/21(金) 16:32:08
http://cnnj.exblog.jp/
0422名無しさん@お腹いっぱい。2005/10/21(金) 19:09:00
>>419
うちはおかしくないけど (FreeBSD 4.8) 。
0423名無しさん@お腹いっぱい。2005/10/23(日) 13:13:44
ttp://d.hatena.ne.jp/kzk/20051023#p2

盛り上がってまいりました(・∀・)
0424名無しさん@お腹いっぱい。2005/10/23(日) 15:40:07
デスクトップ検索ってホントに流行ってるの?
GDS も入れてみたけど、目的の文書が効率よく見つかったってことが、
全然無くて、結局消しちゃったよ。
0425名無しさん@お腹いっぱい。2005/10/23(日) 18:33:42
経験的にローカルに置いてるファイルの数が多いほど必要性が増してくる。
0426名無しさん@お腹いっぱい。2005/10/23(日) 20:34:13
>>424
> デスクトップ検索ってホントに流行ってるの?
> GDS も入れてみたけど、目的の文書が効率よく見つかったってことが、
> 全然無くて、結局消しちゃったよ。

原因あっての結果、準備あっての成果なんだと思う。
デスクトップ検索が可能であることを前提に情報の配置、すなわち
ローカルマシンへの情報の蓄積を行なうようになってしばらく経った後、
その威力が次第に明らかになっていくのだと思う。
0427名無しさん@お腹いっぱい。2005/10/24(月) 01:44:41
ただ今のところP2Pを生かした使い道があまりなさそうな気も。
P2Pのファイル共有ソフトに検索機能をつけるとかそのくらい?
まあGoogleのような大富豪な検索サービスにFLOSSの検索エンジンで対抗するなら
分散型にするしかないんだろうけど。

0428名無しさん@お腹いっぱい。2005/10/24(月) 02:20:33
あー、wikiやblogをnodeAPI経由で検索できるようにさえしておけば、
対応している世界中のwikiを一発で検索できる、とか?
で、検索にはestmasterと通信できる好みのUIを使えばよろしい、と。

あとはwikiにつよいリンクの張り方しているノードとか、blogにつよいノードとか、
または公開されている文書なら何でもかんでもリンク張ってるノードとか
緩やかな文書内容によるクラスタを形成して、気分で変えれるようになるといいね。

どっちゃにしても、管理する文書が多くないと夢は広がらんが。
ここは一丁、アプリ書く?
0429名無しさん@お腹いっぱい。2005/10/24(月) 02:35:02
アイデアとしては面白いけど、色々なリソースの無駄だと思う
0430名無しさん@お腹いっぱい。2005/10/24(月) 03:00:49
OSS開発者にそれをいうのはアホ。

minixのコピーをしこしこ作っていたフィンランドのnerd大学院生にも言ってやればよかったのに。
きっと君の先見の明に感銘を受けたはずだ。
0431名無しさん@お腹いっぱい。2005/10/24(月) 03:00:58
賛成。全部googleに任せておけばいいんだよ。
0432名無しさん@お腹いっぱい。2005/10/24(月) 03:10:13
P2Pって各ホストがバラバラに保有してるindex情報を
共有できるようになるってことでんがな。
図書館の蔵書検索みたいなもんだべ。
0433名無しさん@お腹いっぱい。2005/10/24(月) 03:19:33
スラドでGoogle信者が珍しく騒がないなーと思ったら
こんなとこ来たよ。
0434名無しさん@お腹いっぱい。2005/10/24(月) 03:21:46
>>431
反対。Yahoo!も活用すべき。
0435名無しさん@お腹いっぱい。2005/10/24(月) 03:24:51
>>431
賛成。平林さんも Google に任せておけばいいんだよ。
0436名無しさん@お腹いっぱい。2005/10/24(月) 03:26:33
っていうか、P2Pするにはどういう用件が必要なんだ?
ときどき接続の自宅マシンでできるの?
0437名無しさん@お腹いっぱい。2005/10/24(月) 03:27:35
>>430 が自分が良いこと言った、とか思ってたら笑う。
0438名無しさん@お腹いっぱい。2005/10/24(月) 03:33:31
>>436
それで出来なくはないけど、リンクは静的に設定するから常時立ち上げておかないと意味なさげ。
検索だけならべつにかまわないけど。
0439名無しさん@お腹いっぱい。2005/10/24(月) 04:19:47
>>433
スラドで騒ぐのはマカー。Googleマンセーよりさらに質の悪い連中。
0440名無しさん@お腹いっぱい。2005/10/24(月) 08:29:16
>>436
P2Pノードを自分で立てたら、既存の別のノードか中央のサーバに自分のアドレスとポートを
通知する仕組みが必要だろうね。estの作者がそこまで考えてるかどうかは知らないけど。

0441名無しさん@お腹いっぱい。2005/10/24(月) 11:37:47
P2Pでウンチクのなりそこない垂れてるヤツ
いいかげんドキュメント嫁
ホスト同士の通信のしくみもつくらずP2Pなわけねーだろ>>440
0442名無しさん@お腹いっぱい。2005/10/24(月) 14:24:02
自分専用のノードマスタを立てて、検索はそいつ経由で行って、気に入った文書があれば
自分のノードにESTDOCをコピーするようにすればブックマークはいらんようになるかもしれんね。
そういう使い方ならかならずしも常時立ち上げる必要は無いし。

でも、いまでもGoogleがあるからブックマークは使わないという人もいるから、
それ以上のメリットがあるかどうかは不明。自分で順位を操作できたり、属性を加えられるのが
どれくらい嬉しいのかどうかわからん。
0443およよ2005/10/25(火) 19:39:23
すんまそん。ちとだけフォローをおねがいできますでしょうか?

estcmd gather -ft -px @uri -px @title -px point -px link casket c:\list.txt

みたいに設定した場合で 「@title」や別の属性名例えば「comment」などに日本語を設定して

estseek.cgiで検索すると文字化けしてしまうんですが、なんか指定が足りないのでしょうか?
この場合インデックスに追加しているファイル群の文字コードはばらばらなのですが
それが原因なのでしょうか?


0444名無しさん@お腹いっぱい。2005/10/25(火) 19:45:55
list.txt の文字コードが SJIS だからじゃない?
UTF-8 で保存し直してやってみたらどうでしょう。
0445sage2005/10/25(火) 22:24:48
あたらしいdebパッケージまだかよ〜
0446sage2005/10/25(火) 22:25:28
ageてもうた
0447およよ2005/10/26(水) 11:56:25
>>444

ご指摘のとおりですた。UTFにしたらいけますたー。 (^^;

list.txtのウィンドウズマシンのVBでプログラムをつくっていたので文字コードが原因ですた。
お騒がせしました。m(_ _

0448名無しさん@お腹いっぱい。2005/10/26(水) 14:08:16
ttp://japan.internet.com/webtech/20050914/6.html
ttp://japan.internet.com/webtech/20051026/6.html
0449名無しさん@お腹いっぱい。2005/10/26(水) 17:41:34
Win版バイナリを使っています。
ファイル名も検索できるようにしたいと思うのですが、%ESTORIGFILE%環境変数を利用して、
filenamefilt.bat
echo off
echo %ESTORIGFILE%
として、
カレントディレクトリにあるmogeディレクトリに含まれる拡張子が.hogeの全てのファイル名を、
カレントディレクトリのcasketへ、次のコマンドでインデックスさせようとしているのですが
うまく行きません。

estcmd gather -cl -fx .hoge T@filenamefilt -fz -fo ^ -pc CP932 -sd -cm casket moge

インデックスはされているようなのですが、やはりファイル名では検索できません。
どのようにすればよいのでしょうか?
0450およよ2005/10/26(水) 18:33:11
>>444

すませんです。もひとつにたような話なのですが
estseek.confに今回属性として表示したかった「link」という項目名「extattr」を追加し、
下記のように記述したのですが、追加した属性自体は出力されているのですが、表示名
とした日本語がうまく表示されないのです。「リンク先がこちら」の部分は文字化けしてし
まいます。上の経緯もありましたので 小躍りしながら設定ファイルをUTF8で保存したの
ですが追加するとapacheから内部エラー500で呼び出せなくなってしまいました(^^;

設定部分

extattr: link|リンク先はこちら

属性名の表示名称に日本語は難しいのでしょうか?

extattr: link|LinkHere

などはちゃんと表示されているんですが・・・

0451名無しさん@お腹いっぱい。2005/10/28(金) 15:11:28
Windows 版 1.0.1 に脆弱性 1.0.2 にあげてね。だって。
0452名無しさん@お腹いっぱい。2005/10/28(金) 15:49:19
この手のシステムでの脆弱性は嫌だね。
メジャーになればなるほど攻撃される可能性が増えてしまう。
0453名無しさん@お腹いっぱい。2005/10/28(金) 16:05:03
しかもP2Pで一蓮托生
0454名無しさん@お腹いっぱい。2005/10/28(金) 16:12:51
ネットワークアプリケーションの宿命だけどな。
0455名無しさん@お腹いっぱい。2005/10/29(土) 01:06:49
今日、BerliOSのトップページを見たらTop Project Downloadsのところに
"(666) YaCy P2P Web-Search"というのが出ていた。で、思ったんだけど
P2Pの検索エンジンは結構需要あるんじゃまいか?
0456名無しさん@お腹いっぱい。2005/10/29(土) 01:09:48
cloud9はどうなったんだろう?

P2P検索エンジンがビジネスサイドの方で話題になった頃に
どういう議論がなされて、どういう経過を辿って、そして
消え去ったのか調べてみると良いのではないかな?
0457名無しさん@お腹いっぱい。2005/10/29(土) 01:27:45
HyperEstraierは単体でも十分機能するように作ってあるところが評価できると思う。
分散処理の形態としては、P2Pというより、バス型ネットワークのトポロジーで運用
するのが流行りそうな予感。

0458名無しさん@お腹いっぱい。2005/10/30(日) 00:56:03
ここにXREAで使うやりかた書いてあったが難しくて理解不能。
誰かできた人いませんか?
ttp://fruit.dnsalias.org/hyperestraier/index.html
0459名無しさん@お腹いっぱい。2005/10/31(月) 02:03:15
あほな質問すまん。
Hyperがあるのと無いのってどう違うの?
P2P対応か否か?
0460名無しさん@お腹いっぱい。2005/10/31(月) 02:22:27
記録方式が 分かち書き/N-gram というのも大きな違いだね。

でもやっぱり最大の違いがノードAPIであるのは間違いない。
HTTP ベースで管理できるということは コアAPI または コアAPIを使った言語バインディング を使わなくても
簡単に全文検索機能を持ったアプリケーションを開発できるということで、これは素晴らしいと思う。
もともとは P2P のために作られたのかもしれないけど、P2P で利用しなくても全文検索サーバだけを別に立てて運用できるし
コンソール、GUI、Webアプリ等々、異なるフロントエンドから同じインデックスを利用できたりと、かなり面白い。
0461名無しさん@お腹いっぱい。2005/10/31(月) 02:45:09
逆にestmergeにあたるコマンドが見当たらないんだが。
分けたindexを取りまとめて扱うのにはestmasterを使わなきゃいけないのは
ちょっと残念。
サーバープロセスとしてはメモリ食いすぎてないか?> estmaster
0462名無しさん@お腹いっぱい。2005/10/31(月) 03:27:17
_confを編集すればメモリ使用量はある程度調整できるよ
0463名無しさん@お腹いっぱい。2005/10/31(月) 16:41:19
>>460
mikioタソの日記を見ると形態素解析の価値も認めているから、tokenizerはLucene同様
入れ替え可能になったりして。つか、N-gramはCJKではそこそこ使えるけど、タイ語とか
インド諸言語などの場合はどうなんだろ?
0464名無しさん@お腹いっぱい。2005/10/31(月) 16:43:22
日本語のページのタイトルが「超迷子: 共同体的全文検索系」になっている件について
0465名無しさん@お腹いっぱい。2005/10/31(月) 18:28:01
>>463
Unicodeに文字が入ってるなら問題はないんじゃない?
NグラムのNをいくつにするかは言語ごとに最適値があると思うけど、
性能(速度とDBのサイズ)がちょっと違うだけで、精度はいずれにしても一緒。
0466名無しさん@お腹いっぱい。2005/10/31(月) 18:38:49
n-gramのnを変えたら空間の大きさも精度もちょっとどころでは済まない違いに
なると思うが……。
0467名無しさん@お腹いっぱい。2005/10/31(月) 19:23:38
その辺のバランスをいろいろと考慮した結果が現状の 2.2-gram であり、将来採用されるかもしれない 3.2-gram なんだよね。
0468名無しさん@お腹いっぱい。2005/10/31(月) 19:49:39
>>466
N-gramの時点で再現率(= 実際に検索された文書数 / 論理的な適合文書数 )は100%だし、
Nを変えても精度(= 検索結果中の適合文書数 / 実際に検索された文書数 )は変わらんやろ。
04694632005/10/31(月) 21:44:39
まあ俺もタイ語やインド諸言語に詳しいわけじゃないからあれだけど。
0470名無しさん@お腹いっぱい。2005/11/01(火) 00:55:06
>>468
それが真なら欧米言語でstemmingやっても効果がゼロの筈だよな。
0471名無しさん@お腹いっぱい。2005/11/01(火) 01:47:18
ステミング使うのは、空白で切るトークナイザの場合でしょ。
N-gramでやる必要はあんまりない。語幹だけ入力すれば検索できるから。
0472名無しさん@お腹いっぱい。2005/11/01(火) 02:15:13
ブーリアン検索しか頭にない奴ばっかりか、このスレ。
0473名無しさん@お腹いっぱい。2005/11/01(火) 02:30:08
>>472 詳しく
0474名無しさん@お腹いっぱい。2005/11/01(火) 21:08:07
1.0.3リリースage
0475名無しさん@お腹いっぱい。2005/11/02(水) 09:11:56
>>473
>>468 とか。
情報検索の適合文書というのはクエリの本来の目的に対して定められるので
n-gramの時点で再現率が100%とかいってる時点でおかしい。
世の中にはブーリアン検索しか検索モデルが存在しないとでも思っていないと
468が満たされるような適合文書の定義にはならない。
0476名無しさん@お腹いっぱい。2005/11/02(水) 18:30:39
検索モデルとしてブーリアン検索しか存在してないってのは偽だが、
ブーリアン検索が最もポピュラーなモデルであることは真だろ。
特に断りがなければブーリアン検索を前提として議論しているって事態
別におかしいことでも何でもない。
0477名無しさん@お腹いっぱい。2005/11/02(水) 18:48:56
ブーリアンが最もポピュラーという前提も非常に疑わしいが、
たとえそうだとしても検索モデルと独立に意味を定義された指標の定義を
変えるのは全くおかしいと思うが。
0478名無しさん@お腹いっぱい。2005/11/07(月) 10:46:43
1.0.4出たね。ますますGoogleっぽくなってる。
0479名無しさん@お腹いっぱい。2005/11/07(月) 10:58:11
そろそろGoogleが作者氏を吸収同化しようと触手を伸ばしはじめているかもかも。
0480名無しさん@お腹いっぱい。2005/11/07(月) 13:33:51
高林氏はGoogle入りしちゃったしね。
0481名無しさん@お腹いっぱい。2005/11/08(火) 14:18:35
DesktopHEオモロイね。
Javaで書かれてるなら、ちょっといじればUNIXでも動きそうだな。
ソース公開してくれればいいのに。
0482名無しさん@お腹いっぱい。2005/11/10(木) 01:07:31
導入してみた。クリップがすごい便利!
ローカルの文書って似たのがたくさんヒットして結果が見づらかったけど、
これならきちんと整理して表示されるから非常に見やすい。
0483名無しさん@お腹いっぱい。2005/11/12(土) 01:04:44
1.0.5 sage
0484名無しさん@お腹いっぱい。2005/11/12(土) 02:16:35
超迷子: 天上天下最速最強佛恥義理全文検索系夜露死苦
0485名無しさん@お腹いっぱい。2005/11/12(土) 21:48:40
( ゚Д゚)ポカーン 文字化けかと思たーよ。
0486名無しさん@お腹いっぱい。2005/11/13(日) 17:41:50
>>480
詳しく
0487名無しさん@お腹いっぱい。2005/11/14(月) 01:06:07
>>486
優れたオープンソース開発者を表彰する「2005年度日本OSS貢献者賞」
http://internet.watch.impress.co.jp/cda/news/2005/08/23/8876.html

この記事が最初出たときには

> 全文検索エンジン「Namazu」などの開発者である高林悟氏(グーグル)

と他の3人もそうだけど所属先が出ていたんだわ。その後間もなく所属先が
文章から削られて、しばらく後に名前の誤字が訂正された。

ちなみに高林氏の友人でもあるPRIME作者の小松弘幸氏もGoogleで
インターンやっていたらしい。あとNAISTの先輩であるchalow作者の
山下達雄氏は現在Yahoo! Japanに在籍している。
0488名無しさん@お腹いっぱい。2005/11/14(月) 01:24:38
>>487
> ちなみに高林氏の友人でもあるPRIME作者の小松弘幸氏もGoogleで
> インターンやっていたらしい。

アメリカ留学時にインターンやって、帰国してGoogle入りしたんでしょ。

0489名無しさん@お腹いっぱい。2005/11/18(金) 01:53:59
1.0.6リリースage
正規表現サポートの模様
0490名無しさん@お腹いっぱい。2005/11/18(金) 02:33:40
>>489
今 ML で話題になってるけど(つかこんな時間に流れてくるとわ…)
またちょっと互換性問題があるみたいね。
0491名無しさん@お腹いっぱい。2005/11/18(金) 02:55:40
crmgr って
QDBM http://qdbm.sourceforge.net/
の中に入ってるコマンドのことかー
0492名無しさん@お腹いっぱい。2005/11/21(月) 00:03:55
超弩級迷子になっている件
0493名無しさん@お腹いっぱい。2005/11/21(月) 03:47:18
絶対遊んでいるだろ
0494名無しさん@お腹いっぱい。2005/11/25(金) 10:23:52
ブログ見てると、そろそろMeCabもサポートされそうな勢いだね。
本当に10倍速くなったらすごいな。
0495名無しさん@お腹いっぱい。2005/11/29(火) 11:07:55
なまずからはどうやって乗り換えればいいんですか?
0496名無しさん@お腹いっぱい。2005/11/29(火) 18:07:39
>>495
まず、HyperEstraierのドキュメントを読み、書いてある手順にしたがってインストールする。
それから、ナマズが対象にしていたファイルのインデックスをHyperEstraierで作りなおす。
0497名無しさん@お腹いっぱい。2005/11/30(水) 22:35:59
HyperEstaraier関係での質問なのですが,
replaceの正規表現による置換で,前方参照の書き方がわかりません.

replace: ^file:///home/hoge/diary/html/([0-9]{4})/([0-9]{\
4})\.html{{!}}http://hoge.example/diary/\1\2.html

のような置換が書きたいです.
どのように書けばよいでしょうか.

なにか良い方法がありましたら,よろしくお願いします.
0498名無しさん@お腹いっぱい。2005/11/30(水) 23:22:44
>>497
ほんとだ。出来ると思って試してみたら \1 とかだめだね。
mod_rewrite で誤魔化すしかなさそう。

replace: は(たぶん)上から評価されていくから、お馬鹿な方法なんだけれども

replace: ^file:///home/hoge/diary/html/{{!}}http://hoge.example/diary/
replace: 1999/{{!}}1999
replace: 2000/{{!}}2000
replace: 2001/{{!}}2001

って延々やっていくとか。
regex 使える前はこれしか実際出来なかったし。
0499名無しさん@お腹いっぱい。2005/11/30(水) 23:50:02
レスありがとうございます.
他に$1なども試しては見たのですが無理でした.

とりあえず,>>498さんの方法を使わせていただき,
前方参照の方法に対応したら,そちらを使うことにします.

ありがとうございました.
0500名無しさん@お腹いっぱい。2005/12/01(木) 00:00:50
estcmd gatherの-pxオプションで登録時にURLを指定すればいいんじゃない?

find /home/hoge/diary/html -type -f -name '*.html' -print |
perl -e '
while(<>){
chomp($_);
printf("%s", $_);
$_ =~ s/([0-9]+)\/([0-9]+)\.html$/\1\2.html/;
print $_;
}' |
estcmd gather -il ja -fh -px @uri casket -
0501名無しさん@お腹いっぱい。2005/12/01(木) 00:20:24
>>500
ほぅ、@uri に格納すればできたのかー
知らなかった。
■ このスレッドは過去ログ倉庫に格納されています