関口宏司のLuceneブログ

OSS検索ライブラリのLuceneおよびそのサブプロジェクト(Solr/Tika/Mahoutなど)について
Solrにできて、Googleでできないこと
前回の記事は、読みようによっては、「Solrでできることは、すべてGoogleでもできる」ととられてしまう可能性もあるので、ここで「Googleではできないが、Solrでできること」もある、ということを具体例で示しておこう。

ここでいうGoogleはGoogleアプライアンスをとりあげる。Googleアプライアンスはブラックボックスであるがゆえに楽なことも多いが、インテグレータにとってはカスタマイズできない箱だということが、使用経験のあるインテグレータの間では有名な話だ。よって、Lucene/Solrで得意とするところの検索結果のランキングのカスタマイズが、Googleを採用すると一切できない。

OSS検索エンジンであるLucene/Solrはいろいろなプラグインが可能であり、ランキングのカスタマイズは「Googleでできないが、Solrでできる」ことの一例である。
| 関口宏司 | Google免罪符 | 19:02 | comments(0) | trackbacks(0) |
分散検索:Google vs Solr
先日、Solr 1.3の分散検索機能を導入しようとしている某客先で、Solrの分散検索の実装を検討しているときに出た話題。

関口「・・・とまあ、こういうわけで、Solrでは分散検索でInteger.MAX_VALUEの21億件を超える検索対象文書数を扱うこと(「40億件ヒットしました」と表示する等)はできますが、21億件を越える部分、たとえば『22億件目から10件分』の検索結果を返すことはできません。」
客「Googleではどうでしょうか?」

という話の流れでGoogleで数十億件もヒットする単語を探そうとするが、そのような単語はなかなか見つからない。

関口「・・・あと、Solrの分散検索の実装では、『次の10件』を繰り返していき、十分大きな開始オフセットを要求されると、処理時間が非常にかかってしまいます。なので、クライアント側で適当な上限を設けてやる必要があります。」
客「Googleではどうでしょうか?」

またもやGoogleの検索窓に適当な単語を入力してみる。今度は、数百万件ヒットするありふれた単語を思い浮かべるのは簡単で、結果を得ることができた。ただ、Googleの検索結果ページ下部の「次の10件」をクリックしていき、開始オフセットを100万件先にまで進めるのは人力では困難である。しかし、URLにオフセットを指定する"start"パラメータを使って"start=1000000"と指定すれば、Googleで簡単に開始オフセットを100万にすることができる。

そこで"start=1000000"を指定して検索すると、なんと、次のように表示されてしまった:

Google - over 1,000 hits

Googleでは1,000件以上先(正確には1,001件以上先?/2008年10月現在)の「検索結果一覧」を要求されても表示しないのだった。これは知りませんでした。

まあ、考えてみれば当然だ。Googleの分散検索のシーケンスはSolrと同じなので(というか、事実はSolrがGoogleのシーケンスをまねているので)Googleでも、検索結果一覧の開始オフセットが大きい場合は処理負荷が相当大きくなるため、開始オフセットが大きい検索リクエストには応じない、という選択をしているのだった。

「じゃあ、我々もせいぜい数万件表示すればいっか」「Googleができないんだから」というところに落ち着いた。

「Googleができないんだから」というセリフは、思えば私は月に1回くらい使っているかもしれない。お客さんも「Googleができないんだったらしょうがないね」と納得してくれる。「GoogleができなくてもSolrではやってくれるよね」というお客さんにはいまだに出会っていない。

「Googleができないんだから」は魔法の言葉だ。私は今日からこれを「Google免罪符」と呼ぶことにしよう。
| 関口宏司 | Google免罪符 | 11:33 | comments(1) | trackbacks(0) |
+ Solrによるブログ内検索
+ PROFILE
   1234
567891011
12131415161718
19202122232425
262728293031 
<< August 2018 >>
+ LINKS
検索エンジン製品 - 比較のポイント
商用検索エンジンを購入した企業担当者は読まないでください。ショックを受けますから・・・
>>製品比較 10のポイント
+ Lucene&Solrデモ
+ ThinkIT記事
+ RECOMMEND
Apache Solr入門 ―オープンソース全文検索エンジン
Apache Solr入門 ―オープンソース全文検索エンジン (JUGEMレビュー »)
関口 宏司,三部 靖夫,武田 光平,中野 猛,大谷 純
+ RECOMMEND
Lucene in Action
Lucene in Action (JUGEMレビュー »)
Erik Hatcher,Otis Gospodnetic,Mike McCandless
FastVectorHighlighterについて解説記事を寄稿しました。
+ RECOMMEND
+ SELECTED ENTRIES
+ RECENT COMMENTS
+ RECENT TRACKBACK
+ CATEGORIES
+ ARCHIVES
+ MOBILE
qrcode
+ SPONSORED LINKS