<< 1月 2010 | Home | 3月 2010 >>

翔泳社様新刊 「現場で使えるデバッグ & トラブルシュート Java編」

2月27日に Java のトラブルシューティングのノウハウやツールを紹介する本が発売されます。
・現場で使えるデバッグ & トラブルシュート Java編


トラブルシューティングは様々なテクニック、ツールの活用が必要です。たまに私も覚え立てホヤホヤの知識をさも30年前から知っていたかのようにブログエントリで書くなどしてその啓蒙に努めていますが、体系的に学べる本が必要だと常々感じておりました。

にも触れてくださっているそうなので楽しみです。

関連記事:
現場で使えるデバッグ & トラブルシュート Java編を書きました - Linoブログ

タグ :
このエントリーをはてなブックマークに追加   

新発売の Apache Solr 入門 を読みました

技術評論社様の新刊、"Apache Solr 入門" 、まだ隅から隅までという状態ではありませんがざっくりと拝読いたしましたので感想です。

ちょっと前から書店に並んでいるそうですが、正式には昨日2月20日発売予定です。



Solr は Pure Java の検索エンジンである Lucene をベースとした検索エンジン「サーバ」です。
Pure Java の Lucene ベースといっても Solr が用意しているインターフェースは XMl over HTTP なので Solr を使うのに必ずしも Java の知識は必要なく、PHP や Perl からも利用できます。本書では 「Ant?何それおいしいの?」というくらい Java の知識が無い方でも迷わないようとにかく手取り足取り丁寧に説明されているのが特徴です。

構成もよく考えられており、実際に Solr を動かしながら頭から読み進めることも、ざっと流し読んでおいてリファレンスとして使うこともできるようになっています。また「そこは技術者の勘でよろしくやってくれ」的な置いてけぼり感はなく、Windows / Linux / Mac OSX 各プラットフォームに対応した詳細な解説があり、どんな初心者でも「なんかうまく動かないなぁ・・」ということがないよう細かくフォローされています。


・Java も検索エンジンも分からないけど自分のWebシステムに柔軟な検索システムを導入したい
・Java はバリバリ分かっているけれども検索エンジンってどういうもの?
・Namazu は使ったことあるけれども Lucene / Solr ってどうなのかしら?
と、どの知識レベルの方でもすんなり読み進められると思います。

Solr は「まぁ、大体 HTTP ベースのインターフェース用意したから、あとはざっくりがんばってね」という印象がありましたが、本書を読んでとにかくその完成度の高さに驚かされました。
ant タスクを使ってドキュメントをフィードしたり、Webベースの(人間向けの)インターフェースを通じて管理やトラブルシュートをしたりと、Lucene を直に叩くよりもかなり効率的に開発・運用が出来そうだと感じました。

全文検索とは何か、形態素解析/n-gramとは何か、といった検索エンジンの起訴要素から Solr のインストール、設定方法、さらには Java / PHP / Ruby / Python / Perl / JavaScript と主要な言語におけるプログラミング方法、そして運用における実践的なテクニックまでカバーしており検索エンジン経験者から Java / 検索エンジン初心者までお勧めできる本です。


私が Solr について特に気になっていた点は以下の二点です。

1. Java から Solr を利用する際、生の HTTP リクエスト・レスポンスを扱う必要があるのか?それとも Solr4J みたいな Solr の API を叩くライブラリが用意されているのか
2. クラスタ化によるスケーラビリティ、可用性の確保ができるのか

3. Java アプリケーションからは Lucene の API で直にインデックスを操作し、他のプロセスからはインデックスにアクセスするインターフェースとして Solr を利用することができるのか

本書で 1. 2. については満足のいく対応がなされていることが分かりました。

1. については、Solr 1.3 より Java 用のクライアントライブラリが同梱されており、生の HTTP/XML を扱う必要はないことが分かりました。
Java で検索エンジンを使いたいなら Solr を使わずとも Lucene を直に叩けば良いのでは?と思うかもしれませんが、ビジネスロジックのレイヤと検索エンジンのレイヤを切り離すことはスケーラビリティや可用性を柔軟に実現する上で重要です。

2. については 8 章「分散検索」にて複数の Solr サーバのセットアップ方法が、また可用性確保のためのレプリケーションについては10章「実践!Solr運用TIPS」にて内蔵のコマンドラインインターフェースやフックの使い方が説明されていました。

3. についてはざっと見た限り分かりませんでした。Java のプログラムであっても特段理由が無ければ素直に Solr のインターフェースを通してデータをフィードするのが正攻法でしょうね。

Twitter4Jはそのうち bot フレームワーク的なコンポーネントも作ろうと考えているのですが、Tweet を保管する部分に Solr を使うと面白いことが出来るかな?と思いました。

関連記事:
書籍「Apache Solr入門」 | 関口宏司のLuceneブログ
Apache Solr 入門 - 侍ズム

タグ :
このエントリーをはてなブックマークに追加   

Apache Solr 入門

あけましておめでとうございます。

技術評論社様より新刊、"Apache Solr 入門" を頂きました。2月20日発売予定だそうです。



Apache Solrは Pure Java の検索エンジン/ライブラリである Lucene のサブプロジェクトで、 HTTP ベースの API を持つスタンドアロンのサーバ製品です。(たぶん。そういう認識)

一度ダウンロードして起動してみたことはあるのですが、起動して管理画面をちょっと覗いて「ふーん、なんか良くできてるなぁ」程度で止まっていました。
非常に興味のある製品でこれから Lucene と並んで普及していくものだと個人的に思っています。

章立ては以下の通りです。
Chapter 1 イントロダクション
Chapter 2 スキーマの設定
Chapter 3 インデックスの作成
Chapter 4 検索
Chapter 5 クライアントプログラミング
Chapter 6 データインポートハンドラ
Chapter 7 マルチコア
Chapter 8 分散検索
Chapter 9 サーチコンポーネント
Chapter 10 実践! Solr 運用TIPS

「入門」を謳いながらもかなり実践的な内容に踏み込んでいることが伺えます。
なにしろ著作陣には Lucene や Solr の開発者である関口 宏司さんが名を連ねていますし、Lucene/Solr による検索ビジネスコンサルティング会社である 株式会社ロンウイット が監修となっていますので期待せざるを得ません。
ヒジョーに宣伝っぽいエントリになってしまいましたが、宣伝です。はい。
読了後にまた感想を書きたいと思います。


ところで Solr と並んで興味がある Lucene のサブプロジェクトは Mahoutです。こちらはレコメンデーションエンジンです。
検索とレコメンデーション、うまく組み合わせれば ec サイトの収益機会を大きく向上させたり、イントラネットの利用効率を上げたりすることができますね。

マイクロソフトの子会社で、検索エンジンを主軸としているファストサーチもレコメンデーションエンジンを持っていたりします
検索エンジン、レコメンデーションエンジン、そして広告エンジン(コンテクストマッチ)は似ている技術だということがなんとなくわかりますね。

関連記事:
新発売の Apache Solr 入門 を読みました - 侍ズム
書籍「Apache Solr入門」 | 関口宏司のLuceneブログ

タグ :
このエントリーをはてなブックマークに追加