• ベストアンサー
  • すぐに回答を!

独自の検索エンジンを作るには!?

難しいと思いますが独自の検索エンジンを作成してみたいと思っています。 検索エンジンといっても自分のWebサイト内を検索するものではなくGoogleやYahoo!、A9のように全世界のWebを対象にした検索を行う検索エンジンのことです。 検索エンジンに関しては知識がないのですがDBと相性がいいPHPで作成できるのではないのかなと思っています。 そこで質問です。 PHPやPerlなどで検索エンジンを作成することは可能でしょうか? 個人が運営している検索エンジンサイトなどはあるでしょうか? もし検索エンジンを運営することになった場合はどの位のスペックがあるサーバーが必要になってくるでしょうか? です。どうぞよろしくお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数5
  • 閲覧数1308
  • ありがとう数15

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.4
  • satoh
  • ベストアンサー率77% (17/22)

検索エンジンを個人でphpやperlで作ることは理論上は可能かと思いますが、現実的には厳しいかと思います。 その理由はページの取得にあります。検索エンジンは、大きく分けて2つの部分に分かれます。 ・1つは、webページをまわってデータを取ってくる部分。 ・もう1つは、検索(要求)された単語やフレーズに応じて、取ってきたwebページのデータから適切なページを選択、表示する部分。 で、本来の検索エンジンでは2つ目(ランキングの評価)が重要なのですが、個人でやる場合には1つ目が非常にハードルが高いです。 例えば、1つのページを取得するのに平均1秒かかるとすると、10億ページを取得するのに約31年もかかります(現在、世界中には数十億ページ以上あるようです)。この部分の高速化は、高速な回線を世界的に多数用意する必要があります。検索対象が日本だけだとしても、億を下らないページがあるでしょうから(最近blog流行ってページ数激増みたいですし)、個人レベルで取得するのはかなり難しいと思います(全ページの巡回だけで数年~数十年かかってしまうでしょう)。 この対策(?)としては、自分では取得せず、大手の取得結果を利用させてもらう考え方があります。 直接的な答えではありませんけど、例えばメタサーチエンジンのceek( http://www.ceek.jp/ )では、検索後をいろんなサーチエンジンに投げて、その結果を取りまとめて表示します。 このように大手の結果を使うのも含めて検討されてはいかがでしょうか? # それでもとても大変だとは思いますが。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございました。 Ceek.jpは知りませんでした。これはすごい。個人経営でこれほどのシステムをどのように構成、管理しているのでしょうか?疑問です。 ところで質問です。 Ceek.jpのニュース版のようにいくつか巡回するサイトを指定し、更新されたら見やすくHTMLファイルを作成しほかのサイトに見出しやリンクなどを表示できるようなシステム構成は難しいでしょうか?

関連するQ&A

  • 検索エンジンにひっかからない方法

    ホームページを作成したいのですが、出来ればひっそりと やりたいので、Yahoo!やGoogle等で検索すれば簡単に出てくる、 という状況にはしたくありません。 検索エンジンに全くひっかからない様にするにはどうしたら 良いのでしょうか? お知恵をお貸し下さい。宜しくお願いします。

  • 検索エンジンのロジックは?

    こんにちわ yahoo! とか Google の様なディレクトリ型の検索エンジンを作成したいと考えています。 しかし、いまいちロジックが解りません。 どなたか参考になるサイトなどご存知の方いらっしゃいましたら、情報よろしくお願い致します。 ただ、Perl 良く分からないのでロジックの説明が載っているようなサイト希望です。 よろしくお願い致します。

    • ベストアンサー
    • CGI
  • yahoo!の検索エンジン

    yahoo!の検索エンジンはgoogleの物を提供してサービスを運営していると聞きましたがボット関連の法でマイクロソフトのbingだと聞きました。どっちが正しいのでしょうか。またyahoo!japanも同じなのでしょうか。

その他の回答 (4)

  • 回答No.5
  • satoh
  • ベストアンサー率77% (17/22)

> Ceek.jpのニュース版のようにいくつか巡回するサイトを指定し、更新されたら見やすくHTMLファイルを作成しほかのサイトに見出しやリンクなどを表示できるようなシステム構成は難しいでしょうか? 前半のHTMLファイルを作るところまでの部分は、いわゆる「アンテナ」のことでしょうか?RSSが流行る前は、いろんなアンテナソフトがあったと思います。最近はRSSリーダが流行のようですけど。わたしはアンテナとかRSSとか使わないので、どんなソフトがあるかは、すみませんが知りません。 自前で作るにしても、最近はRSSを用意してくれているサイトも多いので、RSSを検討されては如何でしょうか? 後半の「ほかのサイトに見出しやリンクなどを表示できるようなシステム構成」の部分ですけど、管理下にあるサイトであるならば、前半とほぼ同様のプログラムを動かして、更新された時にリンクのみ生成すればできるかと思います。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

なるほど。RSSを使用するのですね。ありがとうございました。

  • 回答No.3
  • ex_hmmt
  • ベストアンサー率48% (726/1485)

この辺読むとGoogleクラスの検索エンジンがどのくらい涙ぐましい努力をしてるか良く分かると思います。 http://www.itmedia.co.jp/news/articles/0503/03/news046.html 初期のGoogleサーバは以下なんかに写真が載ってますね。 http://bb.watch.impress.co.jp/cda/alphageek/ さて、本題です。 >PHPやPerlなどで検索エンジンを作成することは 可能です。やろうと思えばできない事ではありません。 ただし、実用になるスピードで可能か。実現できるサーバ規模で可能か、となると無理なんじゃないでしょうか。 ただし、ぶっちゃけPHPやPerlでは能力的には不足すると思います。実際には、検索エンジン自体は(規模が大きくなれば大きくなるほど)通常の言語で構築する必要があるでしょう。 だけどたとえば 「全文検索システム Namazu」 http://www.namazu.org/ とかだってさすがに世界を相手にするような性能じゃないですからねえ…… 理屈だけなら、できますよ。PHPだろうがPerlだろうが。 要するに、HTMLをゲットしてきてその中の言葉を解析して、それをデータベースにぶち込んでいく。検索するときには言葉をデータベースから検索して、それを表示してやればいい。 ただ、規模がとんでもなくでかくなりますからね。 たとえば、Google検索の対象ページ数(サイト数ではなく、1HTMLを1ページと数えると考えて良いのかな?)は約80億以上だそうです。 単純に考えて、一つのページのURLが平均15バイト(つまり15文字)だったとして、全てのURLをリストアップ「だけ」しても1200億バイト=12ギガバイト。 その12ギガバイトに検索で解析した単語との関連付けをやってくわけですから ……世の中の単語って何語あるんでしょう。たとえば広辞苑にある単語だけで23万語。もちろん日本語だけではないわけで…… それを検索できるようにするためには、どうするか…… という事で、さくっとなんか普通のサーバの能力超えちゃう感じです。 Googleなんかはその辺を分散サーバで管理してやらせてたりとかしてるわけですよ。 うん。やっぱ結論出しますけど。 ・よほど対象を絞る努力をしないと個人で検索エンジンは無理 ・逆に、対象を絞った検索エンジンの提供なら面白いかもしれない。 (たとえばBlog検索なんてのはそういう発想から生まれたものでしょう) ・Googleはとんでもねー(もちろんYahooもとんでもねー) と言う事になります。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

丁寧なご回答まことにありがとうございました。 >単純に考えて、一つのページのURLが平均15バイト(つまり15文字)だったとして、全てのURLをリストアップ「だけ」しても1200億バイト=12ギガバイト。 え~!URLだけでも12GBですか。ん~これは無理どころではないですね。

  • 回答No.2

>PHPやPerlなどで検索エンジンを作成することは可能でしょうか? 検索エンジン自体はPHPやPerlで作れます。が、ロボット型検索エンジンを作るためにはロボットとかクローラなどと呼ばれるプログラムが必要となります。このロボットがWebをリンクをたどりながらページの情報をDBに登録していきます。ロボットはたぶんC言語などのコンパイル型の言語を使用して作られたパイナリプログラムです。 >個人が運営している検索エンジンサイトなどはあるでしょうか? 全世界のWebサイトを対象とした検索エンジンは個人では難しいでしょう。管理の手間やコストからして。 >もし検索エンジンを運営することになった場合はどの位のスペックがあるサーバーが必要になってくるでしょうか? アクセス数によります。平均同時アクセス数とアクセス時の負荷の統計から見積もりを行います。あなたが検索エンジンを作成して、動作させて、どの程度の負荷がサーバに掛かるのかがわからなければ算出は不可能です。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

丁寧なご回答まことにありがとうございました。 問題はやはりロボットの作成なのですね。ん~Cはまったく分からないので自分で開発するには無理が。。でも夢は夢。いつか立てます。たぶん。

  • 回答No.1

素人で申し訳ないですが、 もちろんPHPやPerlで検索エンジンを作成することは可能です。 しかし、ヤフーなどは独自の言語で検索エンジンを作成していると 聞いたこともあります。 大規模なサービスになるとPHPでまかない切れるかは分かりません。 検索サービスには大きくわけて2種類があるようです。 ディレクトリ型…推薦されたサイトをスタッフが手作業で登録 (Yahoo などがそうですね。最近はどうだろう…) ロボット型…クローラーと呼ばれる巡回システム(ロボット)が       様々なサイトを歩き回り情報収集。 サーバーのスペックもそこそこ必要になってきますが 利用するクライアントの数によって代わってきます。 大規模なシステムの構築になれば複数のシステムを立ち上げ それぞれデータの整合性をチェックしロードバランサーの導入なども考えなければいけません。 また、クローラーが徘徊する為の大容量の回線も必要になります。 すべてを一つのサーバーで済まそうとすると無理があるかもしれません。 素人の考えで申し訳ないですが必要最低限以下のものが必要なのでは? ・検索システム ・大容量のストレージ ページのキャッシュなどを保存 ・クローラーサーバー(巡回ロボット) ・クローラーからのデータを整形する為のサーバー 検索システムや、クローラーは各社が独自のアルゴリズムで 開発されていますので腕の見せ所でしょう。 正規表現に対応したシステムなどがあると面白いですね。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

丁寧なご回答まことにありがとうございました。 私が作成したいのはディレクトリ型ではなくGoogleなどが得意とするロボット型です。 しかしざっと返答をみるだけでも個人の領域をはるかに超えているのか分かります。 もうちょっと研究してから検索エンジンを立ち上げてみようと思います。

関連するQ&A

  • 検索エンジンの不可解な現象について教えて下さい

    検索エンジンについて教えて下さい。同じワードでも検索結果が違う、ということはよくあることかと思います(検索順位が違っている、というような)。それに関係することで、疑問があるのですが…。 「Yahoo!」であるワードを検索し、それに関したWEBサイトがパソコンAでは検索結果に表示されるのに、パソコンBでは「一致するウェブページは見つかりませんでした。」との検索結果が表示されます。 これは一体どういうことでしょう? 特定のWEBサイトが、パソコンAではヒットするのに、パソコンBではしない…。 (時間的?なものかな)などと思っていましたが、2ヶ月間しょっちゅう試しても結果はいつも同じです。 なぜこんなことが起こるのでしょう? 更に具体的に申せば、ある会社名をYAHOO検索すれば、パソコンAではその会社が結果表示されるのに、パソコンBでは「一致するウェブページは見つかりませんでした。」となるのです。 ちなみに「Google」ではこのようなことは起こっていません。

  • 各検索エンジンについて教えてください。

    こんにちは。 早速ですが、ご質問させていただきます。 Yahoo! Google gooなど検索エンジンは多くありますが 1:日本における検索エンジンの使用シェアは? 2:Yahooはあいうえお順にならぶのですか? 3:ロボット型は検索した単語が多く含まれている順に並ぶのですか? 4:2.3をふまえ、検索エンジンの結果で、1ページ目の上位に表示されるにはどう したらいいですか?(ちなみにHPの内容はすごく充実しているとしてお考えください) どなたか詳しい方がいらっしゃいましたら、よろしくお願いします。

  • 各検索エンジンについて

    いつも疑問に思っていることがあります。 それは検索エンジンはどこで運営しているのか。どこに本社があるのかということです。 たとえば、「gooは日本が発祥地」というように、Google、Yahoo、msn、NAVER、インフォシーク…etc、どうなっているのか気になります。検索してみたのですが、どうも見つかりません。検索エンジンの本拠地(発祥地)はどうなっているのでしょう?

  • 検索エンジンに検索されないのですが・・・

    検索エンジンに検索されないのですが・・・※GoogleYahoo!で 私は、趣味のサイトを3つ程運営しているのですが、 その内の2つは、なんのSEO対策をしなくても普通に 関連あるキーワードを入力すれば、必ず何番目にかは 表示されているのですが、もうひとつのサイトが、 UPから半年以上経っているのに全然検索されません。 色々理由を考えたのですが、(当然スパム行為等していません) そのサーバーが、海外に置いてある事が原因のような 気がするのですが、どなたか”検索されない!”とか 他に考えられる原因を知っている方。教えて下さい。

  • 検索エンジンについて

    自分のサイトでWEB検索について検索エンジンgoogle、yahoo、msn、百度のどれかと提携しリスティング広告をした場合オーバーチュアのように自分のサイト内では広告料がもらえる検索エンジンてないですか。

  • 検索エンジン表示結果

    すみませんが、よろしくお願いします。 検索エンジンの表示結果に関してなんですが、 個人でサイトを運営しておりまして、あるときからYahoo!の検索でサイトのトップページが検索結果に表示されなくなり、サブページのみが結果に表示されるようになってしまいました。(表示されているのかもしれませんが、順位としてはかなり下位のようで見つかりません)以前はしっかりトップページから表示されていたのに、どういったことなんでしょうか? ちなみにgoogleでは同じキーワードで、トップページが上位表示されています。googleとyahooとでは違うんでしょうが… 原因としてはどんなことが考えられるんでしょうか? していたこととすれば、サイトのコンテンツ作成、同系・同テーマのサイトへの相互リンク依頼での相互リンクや、ランキングサイト等への登録などです。 修正して改善されるのであれば、早急に修正したいと思っております。 ぜひ、よろしくお願いいたします。

    • ベストアンサー
    • CSS
  • 検索エンジンでヒットさせるには?

    ホームページ作ったんですが、yahoo!やgoogleなどの検索エンジンで検索した際に、自分の名前でヒットするようにしたいのですが、何か設定したり加入したりする必要があるのでしょうか?(現時点ではヒットしません。)

  • 検索エンジンでの検索結果の取得

    現在PHPで検索エンジンの統合ポータルの作成を考えています。 Google、Yahoo(ページ検索)で特定の単語を検索した結果の総数を簡単に取得する方法をご存じでしたらお教えいただければと思います。(特定のパラメータを送ると、検索結果総数だけ返す方法とかが有れば・・・。) 例)キーワード「検索エンジン」で検索した場合、Yahooページ検索「5230344件」、Google「約 3,100,000 件」 やはりGoogleの場合でしたらGoogleAPIを使用するか、もしくはそれぞれ結果画面のソースを正規表現等で解析するしか方法は無いのでしょうか?

    • ベストアンサー
    • PHP
  • サイトが検索エンジンにかかりません

    自社内にWebサーバを設置しWebサイトのホスティングサービスをやっております。 某顧客のサイトで、 Weページのタイトル、<meta>タグ、説明文中にある会社名を入れているのに 一向に検索エンジンにひっかかりません。 検索エンジンの上位ではなく、検索してもまったく出てこないのです。 更新して1週間ほど間を置き、Yahoo、Googleで再度検索しましたがダメでした。 どのようにすれば検索エンジンにひっかかるのでしょうか? ご存知の方がいらっしゃいましたらご教授願います。

  • Sleipnirの検索エンジンリストへの追加

    お世話になります。 Sleipnirのバージョン2.7.1を使っています。 普段からWEB検索はgoogleかyahooをよく使うのですがSleipnirではgoogleは元々検索エンジンリストにあるもののyahooはオークションや チケットだけで肝心のWEB検索がなく使い勝手が悪いと感じています。 検索エンジンリストへyahoo検索を追加したいのですが可能でしょうか? 知ってる方いましたら詳しい手順をご教授下さい。 宜しくお願いします。。。