以下、自分の知見と一部想像での回答です。
実際の元とは異なる場合があります。
そもそも、検索エンジンというのは、2種類に分けられます。
今回、質問者さんが知りたいのは後者だと思います。
ロボット型で今現在開発が行われている検索エンジンは4つあります。
(これで、シェアの大半を占めているはずです。
- bing
- Google
- Baidu
- DuckDuckGo
しかし、残念ながらこれのいずれもソースコードは公開されていません。
色々理由はあると思いますが、主な要因は「サイト作成者が対策できるから」だと思います。
ということで、基本的には質問者さんの独自路線での開発を行わなければなりません。
(「基本的には」というのは、一部、Googleなどが検索上位に来る指針等を公開しているのでそれを元にすれば楽かもしれません。
まずは、サイトからワードを拾ってこなければいけません。
そのワードの基準も難しいですが、基本的にはh__n__タグから取得すれば、ある程度は行けると思います。
あとは、形態素解析を行なって、URLと紐付けを行ったり、定期的にクロールすればいいと思います。
次に、どのように解析対象を増やしていくか。
これは、ページ内に張り付いているリンクをひたすら解析し、そのリンク先に張り付いているリンクを解析していく。という手法が現実的だと思われます。
そして順位は、Google等が公開している指針をもとにすると、かなり完成度は高くなると思います。
ただ、1番最初に書きましたが、私の知見と一部想像での回答なので、実際と異なる場合があります。
もしなにかありましたら、ご指摘くださいますとありがたいです。