YaCy

YaCyとは



YaCy(ヤシー、ヤスィー)は、「人民による人民のためのウェブ検索」を標榜する、オープンソースの分散型検索エンジンです。GPLv2ライセンスで提供されており、そのコア部分はJavaで記述されています。YaCyは、ピア・ツー・ピア(P2P)ネットワークを基盤としており、中央サーバーに依存しない分散型のシステム構成が特徴です。

概要



他の分散型検索エンジンと同様に、YaCyのインデックス情報はP2Pネットワーク上の多数のコンピュータに分散されます。各YaCyピアは独立してウェブページのクロールを行い、収集した情報を分析・索引化します。そして、分散ハッシュテーブル(DHT)を用いて、そのインデックス情報を他のYaCyピアと共有します。

YaCyネットワークには中央サーバーが存在せず、全てのピアが対等に扱われるピュアP2P構成となっています。ユーザは、YaCyが提供する独自の検索ページを通じて、他の検索エンジンと同様に検索を行うことができます。内部の全文検索エンジンにはApache Solrが採用されており、一部日本語化もされていますが、完全ではありません。

システムコンポーネント



YaCyは、以下の4つの要素から構成されています。

1. クローラ: ウェブページのリンクをたどり、その内容を分析する機構。
2. インデクサ: 各単語を単語ハッシュの形で逆引き単語索引(Reverse Word Index, RWI)に格納。各単語は関連URLやランキング情報を持つ。
3. ユーザーインターフェース: ローカル環境で提供される、検索および管理用のウェブインターフェース。
4. データストレージ: RWIや分散ハッシュテーブルを格納するためのデータベース。

検索技術



YaCyは、クローラで収集したウェブページを解析し、インデックスを作成してローカルに保存します。YaCyネットワークに参加すると、ローカルインデックスはネットワークの共有インデックスにマージされます。検索時には、ローカルインデックスだけでなく、ネットワーク上のグローバルインデックスからも情報を取得し、検索結果に反映させます。

また、内部の全文検索エンジンにはApache Solrが使用されており、Solrクエリ形式で検索クエリを記述したり、Solr Boostクエリでランキングを調整することも可能です。

他のサービスとの連携



YaCyは、外部サービスとの連携機能も備えています。例えば、KnowledgeLoader内のGeoNameを利用してOpenStreetMapと連携したり、他のサービスのOpenSearch形式のデータを読み込んで検索結果に反映させることができます。

YaCyネットワーク



デフォルトの公開YaCyネットワークは"freeworld"ですが、独自のYaCyネットワークを構築して参加することも可能です。これにより、独自の検索サイトを作成できます。また、YaCyネットワークに参加せずに、ローカルネットワーク(ファイルシステムやイントラネットなど)のインデックスを作成したり、他のピアから独立して動作させることもできます。

YaCyネットワークでは、各ピアは直接アクセスできるピアをSeniorピア、できないピアをJuniorピア、アクセスでき、シードリストと呼ばれるピアリストを公開しているピアをPrincipalピアと呼びます。通常、ドキュメント数を増やすにはクローリングが必要ですが、Senior/Principalピアは自動的にDHTを送受信することでドキュメント数を増やすことができます。Juniorピアでも、RWIやドキュメントを他のピア(Senior/Principalピアのみ)に送信可能です。

ユーザーインターフェース



YaCyのユーザーインターフェースは、デフォルトでBootstrapを使用していますが、カスタマイズも可能です。また、検索結果はOpenSearch形式や形式などで利用できます。

YaCyの利点



YaCyの最大の利点は、その透明性です。主要な検索エンジンはクローズドシステムであり、その検索技術は公開されていませんが、YaCyはオープンソースであり、利用者が評価基準を自由に設定できるため、透明性の高い検索が可能です。

プライバシーの保護



YaCyでの検索は、自己ピア内のみで処理する場合(プライバシーモード/ステルスモード)は検索クエリの監視がほぼ不可能です。ただし、YaCyネットワークを利用する場合は、ハッシュ化された検索語がネットワーク上に流れるため、検索語を一切知られたくない場合はプライバシーモードを利用する必要があります。プライバシーモードは、デフォルトのユーザーインターフェースで変更できます。

検閲回避



商用検索エンジンでは、検索結果の評価に企業の意図が反映されることがありますが、YaCyでは利用者が最終的な評価を行うため、意図的なランキング操作などの検閲を回避できます。これにより、フィルターバブルを回避することが可能です。また、ブラックリスト機能などを使用して、特定のページを検索結果から除外することもできます。

イントラネット用の検索エンジン



YaCyは、その設計上、イントラネット用の検索エンジンとして利用できます。また、深層Web(TorFreenet、I2Pなど)のインデックスにも使用可能です。

特殊な形式のファイルの検索



YaCyは、Microsoft Officeのファイル、MP3などの音楽ファイル、torrent、gzip、apk、pdfなど、さまざまな種類のファイルを検索できます。また、検索には利用者のコンピュータのみが必要なため、集中的なウェブ検索に伴う電力消費を削減できます。

問題点



YaCyには、P2Pの特性から、NAT越え問題などの課題があります。また、YaCyネットワークは誰にでも公開されており、全てのピアが対等に扱われるため、悪意のあるピアが不正確な検索結果を挿入する可能性もあります。ただし、ブラックリスト機能などである程度は防止できます。

サイトのランキングはYaCyのクライアント側で行われるため、主要な検索エンジンよりも動作が遅くなる場合があります。また、ランキングアルゴリズムは、主要な検索エンジンよりも劣る場合がありますが、他のOpenSearch対応システムから検索結果を読み込むことで改善できます。

脚注




関連項目



Dooble - YaCy検索エンジンツールウィジェットを搭載したオープンソースのウェブブラウザ。
FAROO - YaCyと同様の分散型検索エンジン
MetaGer'>MetaGer - ドイツのメタ検索エンジン。YaCyの検索結果も使用。

外部リンク



YaCy公式ウェブサイト
YaCy (@yacy_search) - X(旧Twitter)
YaCy 'demo1': Search Page - YaCyの公式デモサイト(英語)。実際に検索可能。
* Yacy - GitHub

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。