So-net無料ブログ作成
検索選択

分散型検索エンジン YaCy の導入解説 [P2P検索エンジン YaCy]

私は大分前からP2P通信技術を利用したウェブ検索エンジンの " YaCy " (ヤスィー)を使用しております。

メジャーな検索エンジンと言えばGoogleとYahoo!ですが、これらはそのサーヴィス提供企業により検閲表示順位の操作が可能なものです。
とても優れた検索エンジンですが、他の選択肢が欲しいと思います。

そこで私はもう一つの選択肢としてYaCyを使用する事に致しました。
YaCyではP2P (Peer to Peer)のネットワークを構築して利用者のそれぞれの端末にウェブ コンテンツの索引をDHT (Distributed Hash Table)として分散させて共有し、ネットワーク全体を検索エンジンとして使用する事により、検索の検閲や検索結果の操作を出来ないようにしているそうです。

YaCy_SS_(2015_06_25)_1_Edited_1 分散型インターネット検索エンジン "YaCy" のスクリーンショット画像。検索結果の一覧が表示されている。
https://c1.staticflickr.com/1/751/22190971565_8a57afc081_o.png

私のPCが有している、索引を作成したドキュメントの数は20,560,000 (2015年7月21日時点)に達しました。

欧米のYaCy利用者は多いのですが、日本のユーザーがまだ増えません。

ここでYaCyのインストールの方法などを紹介させて頂きます。

まず、YaCyはJAVA VMの上で動作しますので、YaCyより先にJAVAをインストールする必要があります。


YaCyの公式導入インターネット動画がありますので、掲載させて頂きます。
YaCyの公式ウェブサイトからのダウンロードとインストール、起動して検索までの様子です。

これはWindows版のインストール チュートリアルです。
普通のアプリケーション ソフトウェアのインストールと同じです。


Ubuntu LinuxでのJAVAのインストールとYaCyのインストール両方纏めての公式チュートリアル動画がございましたので掲載致します。

こちらはUbuntu Linux版のインストール チュートリアル動画です。

公式ウェブサイトには他にもMac版のチュートリアル動画もございます。


[Ubuntu版の導入手順]
最新版である " ver. 1.90 " は " Java 8 " で動作致しますので、PCに " Oracle JDK 8 " , " Oracle JRE 8 " , " OpenJDK 8 " , " OpenJRE 8 " の何れもインストールされていない場合はこれをインストールします。
因みに、JDK (Java Development Kit)は開発環境込みのもので、JRE (Java Runtime Enviroment)はプログラムの実行のみ可能なものです。

私はUbuntu PCを利用しておりますので、Oracle Java互換の " OpenJRE 8 " を使用させて頂いております。

Ubuntu 14.04 LTSのメイン リポジトリーは " OpenJRE 7 " までの対応で、 " OpenJRE 8 " はUbuntu 14.10以降でメイン リポジトリーに登録されております。

Ubuntu 14.04で " OpenJRE 8 " をインストールするにはPPAを利用致します。インストールは次の様に行います。

まず、ラウンチャーの " コンピューターとオンラインリソースを検索 " のアプリケーション一覧から " 端末 " を選択するか、或いは " Ctrl + Alt + T " を押して " 端末 " を開きます。
そして次のコマンドを入力致します。
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jre

管理者パスワードを入力して " Enter キー " を押すとインストールが始まります。
途中で " Do you want to continue? [Y/n] " と出たら、インストールを続けたい場合は " y " と入力して " Enter キー " を押すとインストールが続行されます。もしも中止したい場合は " n " と入力して " Enter キー " を押して下さい。
インストールが終わったら、次のコマンドでOpenJRE 8が正しくインストールされた事を確認します。
java -version


また、Ubuntu 14.04にて古いヴァージョンの " OpenJRE 7 " が既にインストールしてあり、 " OpenJRE 7 " が不要な場合は削除して下さい。
古いヴァージョンも使い続けたい場合は、 " OpenJRE 8 " をインストールした後で、 " 端末 " で次のコマンドを入力して使用するヴァージョンを切り替えて下さい。
sudo update-alternatives --config java

利用可能なヴァージョンが表示されるので、使用したいヴァージョンの番号を入力して " Enter " キーを押します。

次に、ウェブ ブラウザーを立ち上げて、 " YaCy " の公式ウェブサイトにアクセスします。
YaCyの公式ウェブサイトのURL:
http://yacy.net/en/index.html

ページの右側の " DOWNLOAD " というコラムの " YaCy 1.90 for GNU/Linux " にリンクされている圧縮アーカイヴ ファイルをダウンロードします。

" 端末 " でカレント ディレクトリーをYaCyのアーカイヴ ファイルをダウンロードしたフォルダーに移動します。
cd ダウンロード

上記の " ダウンロード " の部分はあなたが圧縮アーカイヴ ファイルをダウンロードしたフォルダー名に書き換えて下さい。

" 端末 " から次のコマンドを実行して圧縮アーカイヴを展開します。
tar xfz yacy_v1.90_20160704_9000.tar.gz

" yacy_v1.90_20160704_9000.tar.gz " はあなたがダウンロードしたYaCyの圧縮アーカイヴ ファイル名です。
今後、配布されているYaCyのヴァージョンが変更された場合は適宜書き換えて下さい。

展開された " yacy " という名前が付いたフォルダーは任意のディレクトリーへ移動して構いません。


また、Ubuntu Linux版のユーザーに限った話ですが、 " 端末 " からYaCy起動用のシェル スクリプトを実行するのは面倒なので、デスクトップ ファイルを作ってUnity ランチャーに登録しましょう。

次のURLにある、 NewcomerT さんのブログ記事を参照させて頂きました。

Ubuntuと歩く−保管庫 / "Unityのランチャーにあれこれ追加。" のページのURL:
http://walkwithubuntu.blog.fc2.com/blog-entry-238.html

" YaCy.txt " という名前のテキスト ファイルを作成し、次の様に記述致しました。
#!/usr/bin/env xdg-open

[Desktop Entry]
Name=YaCy
Comment=Yacy Starter
Exec=/home/issei/yacy/startYACY.sh
Icon=/home/issei/yacy/htroot/env/grafics/YaCyLogo_120ppi.png
Terminal=false
Type=Application
Categories=GNOME;Network
StartupNotify=True
StartupWMClass=YaCy


上記のものはYaCyがホーム ディレクトリー直下に置かれている場合です。
この場合、 " Exec= " の行と " Icon= " の行にあるxxxxxはあなたのユーザー名が入ります。
YaCyの場所が異なる場合は、YaCyのフォルダーを置いてあるディレクトリのパスに書き換えて下さい。
このファイルをバックアップした後、 " YaCy.desktop " と名前を変えて次のディレクトリーに置きました。

~/.local/share/applications/

すると、 " コンピューターとオンラインリソースを検索 " でファイルのアイコンが表示されるようになり、これをUnity ランチャーへドラッグ & ドロップして登録したら、後はそのアイコンをクリックするだけでYaCyを起動する事が出来るようになります。


最初の起動でウェブ ブラウザーにYaCyの画面が表示されなかった場合は、次のアドレスを入力して下さい。

http://localhost:8090/index.html

これにより、YaCyの画面が表示される筈です。
"8090" はYaCyの初期設定のポート番号です。複数台の端末からYaCyを利用する場合などには適切な値に変更可能です。
このページの事を "Search Front Page" と呼称します。
このページをブックマークしておいて、次回からは直ぐにこの画面を開けるようにしましょう。
"Administration" のボタンをクリックすると、設定画面が現れます。設定画面の左のコラムにある項目を上から順に選択して設定やステータスを見てみて下さい。

YaCy_SS_(2015_01_31)_1_Edited_1 P2P検索エンジンの "YaCy" のスクリーンショット画像。検索ページが表示されている。
https://c2.staticflickr.com/6/5623/22004122609_ff3a6c2d79_o.png
YaCyの "Search Front Page" のスクリーンショット画像です。

また、Ubuntu ユーザーで、ポートの開放の仕方は次の私のブログ記事を参照して下さい。
ポートを開放しないと他のYaCy ピアからこちらの端末に接続出来ませんので御注意下さい。

Ubuntu PCでYaCy検索エンジンの為のポート開放の設定
http://crater.blog.so-net.ne.jp/2014-11-06


Firefox ウェブ ブラウザーの検索バーにYaCyを追加するには、 "Search Front Page" で何かを検索し、その検索結果の一覧が表示されているページでブラウザーの検索バーをクリックして ""YaCy ''xxxx" を追加" を選択します。
上記の 'xxxx' にはあなたのピア名が表示されます。
YaCyを既定の検索エンジンに設定する事も出来ます。


また、検索結果のページ毎の表示件数を増やしたい場合は、管理画面の左のコラムの "Search Portal Integration" の "Portal Configuration" を選択して、 "Default maximum number of results per page" の値を増やして "Change Search Page" ボタンを押します。


YaCy利用中もCPUやネットワーク帯域はほとんど使用しません。メイン メモリーの使用量は設定で制限できます。

P2P通信技術を使った検索エンジンに興味がある方はどうぞ導入してみて下さい。

YaCyの公式ウェブサイトのURL:
http://yacy.net/en/index.html

YaCyについてのWikipediaのページのURL:
https://en.wikipedia.org/wiki/YaCy

Windows ユーザーならばYaCyとは無関係に当然の事ですが、セキュリティ ソフトウェアは導入しておいて下さい。
Linux ユーザーはセキュリティ ソフトウェアは無くとも大丈夫かと思います。

次のwiki ページにYaCyの説明が書かれております。どうぞご一読下さい。
http://www.yacy-websearch.net/wiki/index.php/En:FAQ

日本のユーザーが増えると私はとても助かります。


[YaCyに関する私のブログ記事]

分散型検索エンジン YaCy のアップデート
http://crater.blog.so-net.ne.jp/2015-06-25

->->
[2016年6月16日追記]
Ununtu Linux版の導入解説をより詳細に再編集致しました。
<-<-