[Perl] プログラム言語 Perl についての覚え書き

HyperEstraier の Perl Binding を使ってみた。

Last Update: 2005--1-0- (Wed) 04: 1

Hyper Estraier になって、色々外部のプログラムからも扱いやすくなっているようなので、いまさらながら試してみました。

プログラミングガイド だけでは良くわからなかったのと、Perl でやってる人が見付からなかったので、ここにサンプルを載せておきます。

単純にデータベースを開いて、検索を実行し、パスの一覧を表示するだけのスクリプトです。

以下のスクリプトを作成するにあたって、HyperEstraier の Python Binding できた が参考になりました。

#!/usr/bin/perl -w

use strict;
use HyperEstraier;

my $word = shift||die "$0 [keyword]\n";

# データベースを開く
my $db = new HyperEstraier::Database;
$db->open('casket', $HyperEstraier::Database::DBREADER);

# 検索語の決定
my $cond = new HyperEstraier::Condition;
$cond->set_phrase($word);

# 結果取得
my $result = $db->search($cond, 0);

# 結果表示
my $num = $result->size;
$num--;

foreach (0..$num) {
   my $doc  = $db->get_doc($result->get($_), 0);

   my $uri  = $doc->attr('@uri');
   my $text = $doc->dump_draft;

   print $uri;
   print "\n";
}

それにしても、自分の好きな言語で検索システムが簡単に構築出来るのですごい便利。

また今度時間がある時に、データベースの更新や登録についても調べてみようと思います。

Posted by Kyosuke Takayama at 2005-10-04 (Tue) 18:40 printable version

この記事へのコメント

1) fudy (2006-11-01 (Wed) 18:36)

こんにちは。
記事を拝見させてもらってやってみようと思ったんですが、うまく動きません...。
これはWindows環境でも可能でしょうか???

2) takayama (2006-11-03 (Fri) 15:15)

Windows用のバイナリもあるし、多分動くと思いますが…。
Windowsはあまり使わないので参考になるような事は言えなくてすみません。

コメントはお気軽にどうぞ

Cookie に保存しますか?


・スパム対策のため、http:// を含むコメントの投稿は出来ません。
・スパムチェックのため、投稿がすぐに反映されない場合があります。
・メールアドレス入力欄には何も入力しないでください。

トラックバック

トラックバックURL: http://espion.just-size.jp/mt-tb.cgi/526

Enjoy Hyper Estraier: Hyper Estraier インストール(5) Perlバインディングのインストール (2007-06-16 (Sat) 07:22) 0%

Hyper Estraierの機能をプログラマーが最小限のコードで活用できる コアAPI(C言語)が公開されており、各言語バインディングがあります。 Java Perl Python Ruby と用意されていますが、私がPerl使いなので Perlバインディングをインストールすることにします。 他...



この記事のリンク元

 
Copyright (C) Kyosuke Takayama, All rights reserved.