mixi とgoo
一年以上も前のニュースで紹介されていることで皆さんもご存知かと思いますが(逆に、もう忘れてしまっているかもしれませんが)、mixi 内の検索にはgoo の検索技術が使われています。
でも、どうしてでしょう?
mixi のような高機能なサイトを短期間で作り上げる技術力があるのに、
なぜ、検索部分を外部にお願いしたのでしょうか?
実際に検索してみると、下記のような画面が表示されます。

確かに左下に「Powerd by goo」という表記が見られます。
検索をgooにお願いした理由は簡単です。
mixi 自体を作ることに匹敵するほど、検索というものが難しいからです。
もちろんmixiも他のWebアプリケーションと同様に、ほとんどのデータがDB(MySQL)に格納されているのですから、SQLを駆使すれば検索くらい簡単なのでは、と思うかもしれません。
しかし、大量のカラムから横断的に検索しなければならなかったり、日記データに対して全文検索をしなければならなくなったりすると、単純なSQLでは対処できなくなってきます。DBの検索パフォーマンスをあげるためのインデックスが意味を成さなくなってしまうのも問題となります。
mixi がgoo を採用したということは、この「検索」というものの難しさを物語っているのです。