愛車:マツダアテンザ
Webを中心とした、ビジネス&テクノロジーに関する思いつき
by F-shin
[ このサイトについて ] [ F-shinについて ] [ トップ ]
iPhoneアプリ
author:えふしん
photo_20.jpg
藤川真一について


初代モバツイ開発者
想創社再創業 / KMD博士課程
著書〜100万人から教わったウェブサービスの極意―「モバツイ」開発1268日の知恵と視点 [Kindle版]
お求めやすい夏休み特価!
AMN sponsor rolls
このカテゴリ[書評系評論]の最新30件
システムがもたらす信頼を如何に作るか DeNA南場さん「不格好経営」 吉野家が「デフレ」の象徴は間違い〜「本当の経済の話をしよう」を読んだ エンジニアが一番、エンジニアらしく、シンプルに独立する方法 リーンスタートアップ実例として、オイシックス成功の苦労を描いた本「ライフ・イズ・ベジタブル」 「とにかくやってみよう」を否定する「リーンスタートアップ」まとめ4(完) 「とにかくやってみよう」を否定する「リーンスタートアップ」まとめ3 「とにかくやってみよう」を否定する「リーンスタートアップ」まとめ2 「とにかくやってみよう」を否定する「リーンスタートアップ」まとめ 「さあ、才能に目覚めよう」をやってみた 楽天ゴールデンイーグルスというベンチャー企業~「絶対ブレない「軸」のつくり方」書評 全文検索機能をつけたいWebサービスで必ず考慮したい1冊「Apache Solr入門」 マスコミは、もはや政治を語れない 「自分をデフレ化しない方法」を読んだ。 ツイッターがあれば名刺はいらない ~ 「ネットがあれば履歴書はいらない」 SEOには、運用のSEOと設計のSEOの2つのフェーズがある。 CS4のお得な購入方法~法人税が分かれば、会社のお金のすべてが分かる 「インターネット&Webの必須常識100」の執筆に参加しました! ニコニコ動画が未来をつくる ドワンゴ物語 「ワタシが主役」が消費を動かす―お客様の“成功”をイメージできますか? 「紳竜の研究」を心で記憶する。 真のライブをゲットせよ 〜2011年 新聞・テレビ消滅〜 やっぱり仕事で重要なのはプロモーション力だと思う - 「仕事するのにオフィスはいらない」 着々と広がるPython包囲網に君は立ち向かえるか?! 勝間和代さんの本が苦手な理由 ネットオタどもは自分の来た道を常に振り返るべき〜グランズウェル 買いたいけど買えないアマゾンカートの中身一覧 才能のあるレジのおばさんに相応の給与が支払われない合理性 GoogleDan ネットで売れるもの売れないもの
[このカテゴリをもっと見る]
Powered by
Movable Type

March 13, 2010

スポンサーリンク

100万件以上の規模をデータを扱うWebサービスで、低コストで全文検索エンジンをサイトに組み込みたいと思った時に多く使われているのが、

1.MySQL + Senna

2.Apache Solr

3.Hyper Estraier

他にもあるかもしれませんが、この辺の選択肢なのかと思います。

どれも様々なところでの採用実績があるかと思いますが、今回は、日本でも大規模なデータ量を活用する情報サイトでも活用されている(ことを僕が知っている)、Apache Solrの本をいただいたので紹介してみたいと思います。

Apache SolorはオープンソースでPureJavaで作られている全文検索エンジンです。
サーブレットコンテナ上で動作し、Webサーバなどのクライアントからは、HTTPでリクエスト、レスポンスを処理します。

上記3種類の検索エンジンの違いとしては、Hyper Estraierは使ったことないので書けないのですが(TokyoTyrant/tokyo Cabinetにはお世話になっております)いわゆる基本的な全文検索のありようについては、そんなに変わるものではないのかなと思っています。

MySQL + Sennaは、何より、お手軽なのが最大の魅力で、既にレプリケーションされているMySQL 5.0x環境があれば、バイナリパッケージで提供されているTritonnを使うことで、さくっと高度な全文検索を追加できます。

モバツイでも昔からログ周りでは利用させていただいておりましたが、今は、フレンド検索で利用しています。主に日本人で構成された140万人のツイッターユーザーをプロフィールや名前、locationで検索するのに利用しています。(今、Sennaな人達は、groongaという全く新しい検索エンジンに取り組んでいて、こちらも注目です)


Apaceh Solrに関しては、もうちょっとリッチな検索機能として、ハイライトと呼ばれる検索に該当したキーワードを自動強調表示をする、とか、結果をランダムソートするなどの機能がありますが、一番、お金につながりそうなのが、ファセット機能だと思っていてます。

これは、検索結果が所属するカテゴリ毎のヒット数を自動的に抽出できる機能です。

よくECサイトで、「カテゴリ毎の商品数」というのが表示されていますが、あれを検索キーワードに対して動的に抽出することができます。


↑こういうのです。

その結果、ドリルダウンと呼ばれるUIで、カテゴリをどんどん深堀していっても、下位カテゴリで絞り込まれた検索ヒット数を再帰的に表示することができる、というわけです。

これは高いユーザーエクスペリエンスの実現に、重要な機能と言えます。


何もシステム的なサポートがないのにやろうとすると、カテゴリの数だけ違ったクエリの全文検索ループを回す必要が出てきて、非現実的です。

決まったカテゴリであれば、定期的にバッチで更新すれば良いのですが、動的な検索キーワードには対応できません

本書を見ていると、Solrのファセット機能もやってる処理は、そんなに違いないようですが、Solr内部で処理してくれることで、余計な処理を繰り返すことなく、最適化された状態で、実用的に利用できる、と考えるのが良いでしょう。


本書はSolrのインストールの仕方から、各種言語からの呼び出し方法(て言ってもhttp通信でXMLやらjsonが返ってくる、twitter apiみたいな仕組みなんですけどね)という基礎から、技術的な仕組みの説明は欠かさず、さらに、分散検索やレプリケーション、その他、仕組み上起こりうる問題点等、先々まで使えるノウハウが惜しみなく記述されている一冊だと思います。

(地味にありがたかったのが、TomcatじゃなくてJettyでも実運用できますよーという一文だったり)

初心者過ぎずマニア過ぎず、丁寧に書かれており、エンジニアなら読みやすい文章です。

Solrは、ツイッタークライアント界隈でも、「twitter検索」で使われていたりしますが、モバツイでも、今後の機能追加に利用させていただこうと思っています。

で、これはTipsなのですが、Apache Solrの情報は当然、ネットを検索すると出てくるのですが、問題点が一個あって、Apache Solrのバージョン1.2とバージョン1.3以降で、何やら仕組みが変ったようで、昔の情報と1.3以降の情報を混乱するとワケワカになるという事態が起きます。

今はblogベースの記事が多いので、日付では切り分けがつくのですが、いかんせんバージョン番号まで書いてくれてる人は多くありません。書いたタイミングでは最新なので、後から見ると、わからなくなってるケースが多いです。

というあたりが、Apache Solrを使う場合には、切実に本書をお勧めしたい理由です。

そういう情報の蓄積を、本書にまとめていただいたという側面だけでも、十分、お金を払う価値があると思います。


以下、2008年の記事ですが、こちらもどうぞ。
Apache Solrを使ってみた。

【PR】BASE エンジニア、デザイナー、経理!一緒に仲間になってくれる人を探してます!
スポンサーリンク
■同じカテゴリ[書評系評論]のエントリー
<<前の記事 マスコミは、もはや政治を語れない
>>次の記事 楽天ゴールデンイーグルスというベンチャー企業~「絶対ブレない「軸」のつくり方」書評
■このblogの書き込み最新3件
本ブログは移転しました インターネットの遊び方を身につけよう トトロが陽なら、『風立ちぬ』は陰?〜『風立ちぬ』の感想
この記事への提案、提言一覧
この記事への提案、提言









あなたの情報を保存しますか?