24 |
<h1>P2Pガイド</h1> |
<h1>P2Pガイド</h1> |
25 |
|
|
26 |
<div class="note">Copyright (C) 2004-2005 Mikio Hirabayashi</div> |
<div class="note">Copyright (C) 2004-2005 Mikio Hirabayashi</div> |
27 |
<div class="note">Last Update: Tue, 07 Jun 2005 06:17:00 +0900</div> |
<div class="note">Last Update: Mon, 01 Aug 2005 00:50:38 +0900</div> |
28 |
<div class="navi">[<a href="nguide-en.html" hreflang="en">English</a>] [<a href="index.ja.html">HOME</a>]</div> |
<div class="navi">[<a href="nguide-en.html" hreflang="en">English</a>] [<a href="index.ja.html">HOME</a>]</div> |
29 |
|
|
30 |
<hr /> |
<hr /> |
61 |
|
|
62 |
<p>複数のサーバが相互に通信することよって、P2P(Peer to Peer)方式の分散処理を行うこともできます。100万件の文書のインデックスを管理する10個のサーバを連携させれば、1000万件の文書を扱う検索システムを構築することができるというわけです。サーバ同士は対等の関係であるため、クライアントはどのサーバにアクセスしてもサービスを享受することができますし、どれかのサーバがダウンしてもシステム全体が停止することはありません。また、サーバ間の信頼度を元に検索精度を向上させる仕組みも備わっています。</p> |
<p>複数のサーバが相互に通信することよって、P2P(Peer to Peer)方式の分散処理を行うこともできます。100万件の文書のインデックスを管理する10個のサーバを連携させれば、1000万件の文書を扱う検索システムを構築することができるというわけです。サーバ同士は対等の関係であるため、クライアントはどのサーバにアクセスしてもサービスを享受することができますし、どれかのサーバがダウンしてもシステム全体が停止することはありません。また、サーバ間の信頼度を元に検索精度を向上させる仕組みも備わっています。</p> |
63 |
|
|
64 |
<p>C/S間のプロトコルを隠蔽する「ノードAPI」も提供されます。ノードAPIを使えば、ネットワークに関する詳細な知識がなくても、クライアントのプログラムを実装することができます。この文書では、ノードAPIの使い方についても説明します。</p> |
<p>C/S間のプロトコルを隠蔽する「ノードAPI」も提供されます。ノードAPIを使えば、ネットワークに関する詳細な知識がなくても、クライアントのプログラムを実装することができます。この文書では、ノードAPI(C言語)の使い方についても説明します。ノードAPIには<a href="japidoc/">Java版</a>と<a href="rbapidoc/">Ruby版</a>もあります。</p> |
65 |
|
|
66 |
<hr /> |
<hr /> |
67 |
|
|
629 |
|
|
630 |
<dl> |
<dl> |
631 |
<dt><kbd>int est_init_net_env(void);</kbd></dt> |
<dt><kbd>int est_init_net_env(void);</kbd></dt> |
632 |
<dd>戻り値は成功なら真、エラーなら偽です。</dd> |
<dd>戻り値は成功なら真、エラーなら偽です。同一プログラム内でこの関数を複数回実行しても構いませんが、同じ回数だけ `est_free_net_env' も実行してください。</dd> |
633 |
</dl> |
</dl> |
634 |
|
|
635 |
<p>ネットワーク環境を破棄するには、関数 `est_free_net_env' を用います。</p> |
<p>ネットワーク環境を破棄するには、関数 `est_free_net_env' を用います。</p> |
675 |
<dd>`node' はノード接続オブジェクトを指定します。</dd> |
<dd>`node' はノード接続オブジェクトを指定します。</dd> |
676 |
</dl> |
</dl> |
677 |
|
|
|
<p>ノード接続で直前に起きたステータスコードを取得するには、関数 `est_node_status' を用います。</p> |
|
|
|
|
|
<dl> |
|
|
<dt><kbd>int est_node_status(ESTNODE *<var>node</var>);</kbd></dt> |
|
|
<dd>`node' はノード接続オブジェクトを指定します。戻り値はノード接続で直前に起きたステータスコードです。-1は接続に失敗したことを意味します。</dd> |
|
|
</dl> |
|
|
|
|
678 |
<p>ノード接続オブジェクトにプロクシの情報を設定するには、関数 `est_node_set_proxy' を用います。</p> |
<p>ノード接続オブジェクトにプロクシの情報を設定するには、関数 `est_node_set_proxy' を用います。</p> |
679 |
|
|
680 |
<dl> |
<dl> |
696 |
<dd>`node' はノード接続オブジェクトを指定します。`name' は認証情報のユーザ名を指定します。`passwd' は認証情報のパスワードを指定します。</dd> |
<dd>`node' はノード接続オブジェクトを指定します。`name' は認証情報のユーザ名を指定します。`passwd' は認証情報のパスワードを指定します。</dd> |
697 |
</dl> |
</dl> |
698 |
|
|
699 |
|
<p>ノード接続で直前に起きたステータスコードを取得するには、関数 `est_node_status' を用います。</p> |
700 |
|
|
701 |
|
<dl> |
702 |
|
<dt><kbd>int est_node_status(ESTNODE *<var>node</var>);</kbd></dt> |
703 |
|
<dd>`node' はノード接続オブジェクトを指定します。戻り値はノード接続で直前に起きたステータスコードです。-1は接続に失敗したことを意味します。</dd> |
704 |
|
</dl> |
705 |
|
|
706 |
<p>ノードに文書を追加するには、関数 `est_node_put_doc' を用いる。</p> |
<p>ノードに文書を追加するには、関数 `est_node_put_doc' を用いる。</p> |
707 |
|
|
708 |
<dl> |
<dl> |
993 |
if((value = est_resdoc_attr(rdoc, "@title")) != NULL) |
if((value = est_resdoc_attr(rdoc, "@title")) != NULL) |
994 |
printf("Title: %s\n", value); |
printf("Title: %s\n", value); |
995 |
/* スニペットを表示する */ |
/* スニペットを表示する */ |
996 |
value = est_resdoc_snippet(rdoc); |
printf("%s", est_resdoc_snippet(rdoc)); |
|
printf("%s", value); |
|
997 |
} |
} |
998 |
/* ノード結果オブジェクトを破棄する */ |
/* ノード結果オブジェクトを破棄する */ |
999 |
est_noderes_delete(nres); |
est_noderes_delete(nres); |