人気ブログランキング | 話題のタグを見る

世界最速の検索反映時間を目指す検索エンジンの開発&運営日誌


by tak0031

そろそろ…

本業が忙しく、だいぶほったらかしだったSPeeNee。
そろそろ手がつけられそうです。
新しい機能を模索中。。。
# by 955_i | 2006-02-03 17:52 | 雑談

Googleもブログ検索を開始

Google blog search β版が始まったらしい。
(引用:CNET Japan)
Googleは米国時間13日、かねてから噂されていたブログ検索サービス「Google Blog Search」のベータ版を公開した。自社で「Blogger」サービスを運営する同社だが、この新サービスはサイトのフィード(RSSまたはAtom)を公開するすべてのブログを検索できるようにすることを目標としている。
参照元記事

今のところ全世界のブログ記事が対象で、日本のブログのみの絞込みができない模様。『民主党』で検索すると中国語のブログが沢山出てきますね。

更新頻度も気になるところで"blog"で検索すると10数分前の記事が出てきた。ask.jp同様、まだβ版だが、正式版に向けてもっと頻繁に更新されるようになるかもしれない。

使い勝手の方は、やはりGoogleだけあってシンプルかつ軽い画面でわかりやすい。
Sortはユーザ選択式で"relevance"と"date"が選択可能で、デフォルトのソートが"relevance"になっているところがGoogleっぽい。

それにしても、立て続けに大きい企業が検索エンジンを立ち上げ始めるとだんだん個人の出る幕はなくなってくるのかな。

Google blog search β版
SPeeNeeリアルタイム検索
# by 955_i | 2005-09-15 00:16 | 検索エンジン

SPeeNeeに強敵出現!

アスク ジーブスでブログ検索が始まったようです。

(引用開始:CNET Japanより)
最大の特徴は、毎日無数に書き込まれるブログ記事が、掲載されたあとに可能なかぎり早く検索できるようにインデックスの更新を1分ごとに行っていることだ。「場合によっては、書き込まれてから数秒で検索結果に表示されることもあり、現状ではおそらく日本で最速の更新頻度ではないだろうか」(渋谷氏)としている。
参照元記事

更新頻度なんと1分!

早速使ってみたけど、更新頻度だけじゃなく、検索速度も速い&網羅している記事件数も多い。
有名なブログを上位表示する機能もあるし結構便利。

むむむ、強敵出現ですな。
勝手に妄想ですが…。(笑)

(…でも更新頻度だけSPeeNeeも負けていない!、と言ってみる。)

Ask.jp 最速ブログ検索
SPeeNeeリアルタイムブログ検索
# by 955_i | 2005-09-14 11:46 | 検索エンジン

記事取得元を大幅追加

記事取得元を大幅に追加してみた。
http://speenee.com/help

今までは3サイトだったけど、一気に増やして10サイトから取得してます。

※新しく追加した取得元
gooブログ
Jugem
fc2ブログ
ココログ
doblog
ウェブリブログ
AutoPage

今回取得情報(rss)を探してみて改めて思ったのは、ブログツール提供元によって新着記事は表示してるけどrssは配信してなかったり、新着のrssは配信しているけど10分更新(遅い!)だったり、そもそも新着記事の表示自体が無かったりで、様々だなぁ、と。

それにしても自サイトのPVを上げるために広告は出すけど、新着のrssが無いサイトって、なんなのだ?!
モッタイナイ。
# by 955_i | 2005-09-13 14:38 | 開発・運営

フレーズ検索速度の向上

今回は検索エンジン内部のお話。

現在のWeb上の検索エンジンの特長として、デフォルトでand検索が実装されているエンジンが多数存在している。

知らない人も直感的にわかりやすく、例えば"検索 エンジン"というように2つの単語をスペースで区切ると両方の単語を含む文書が検索される仕組み。

で、今回のタイトルにあるフレーズ検索とは、も一歩踏み込んだ仕組みで、上記の例でいうと"検索エンジン"とスペースで区切らないワードの場合、"検索"のあとに"エンジン"と続いている文書をちゃんと見つけてくれるというもの。

当たり前の機能と言えばそれまでだけど、これを考えると結構大変なのである。

日本語検索エンジンの基本的な機能のひとつに形態素解析というものがある。

この機能は簡単に言うと、ある文章の解析をお願いすると品詞単位に分けてくれる大変便利な機能。

例をあげると、"本日は晴天なり"という文章を渡すと、"本日、は、晴天、なり"と分割してくれる。

形態素解析の詳しい話は長くなってしまうので他を検索してもらうとして、多くの検索エンジンではこの分割された単語の出現した位置を記録しているファイルを持っている。(インデックスと呼ばれる)

実際に検索するときに記録した位置情報を元に文書を探すわけだが、フレーズ検索を意識している場合はそうでない場合において記録する情報も違ってくる。

まず、フレーズを意識しない場合は単語が出現した文書のみを記録する。記録の仕方はエンジンによって様々な種類があるからここでは説明無し。

次にフレーズを意識した場合は文書だけでなく、その文書のどこの位置に出現したか、というところまで情報が必要で、"検索"という単語が5文字目に出現し、"エンジン"が7文字目にあれば"検索エンジン"という単語であると判断できる。このフレーズの位置の持ち方も様々で、byte単位であったり、そもそも出現位置ではなく、2つの単語の結びつきのみ記録する場合もある。

一般的にはフレーズを意識しない方が単純な情報で済むため検索速度も速いが、検索結果に意図しない情報が含まれる可能性もあるため、より正確な結果を求める場合にはフレーズ検索を可能、または意識した検索エンジンの方が便利に使える。

前置きが長くなったが、結局何が言いたいかというと、SPeeNeeはこのフレーズ検索を実装している検索エンジンで、今回は位置情報の検索方法を変更したからスピードアップしたよ、というわけ。

具体的に説明すると、いままでファイルアクセスで参照していた位置情報をメモリ上で処理するように変更。約10000件のマッチング処理で現状のサーバでは2.0秒、これがメモリ上で処理すると0.4秒ほどに。実際には位置情報をメモリに乗っける処理も含むのでもうちょい遅くなるけど、それでも約0.8秒。

この変更のデメリットとしてはメモリ使用量の増加。現状では贅沢にも約1GBのメモリを占有している。…でもまぁケチって使わないよりはマシかな。

というわけで、めでたくスピードアップすることができました。

※使用例
"検索 エンジン"のand検索
"検索エンジン"のフレーズ検索

若干検索件数が違うのがわかると思う。
# by 955_i | 2005-08-25 11:50 | 検索エンジン