担当編集者の池本さんに気づかれないようにこっそりと原稿に紛れ込ませた。彼の目をごまかすことはできなかった。彼は静かに、しかしきっぱりとこう言った。」こうして、私の野望は潰えた。Java・オープンソース・全文検索システムの構築」がアマゾンで予約販売を開始した。表紙画像はまだないようなので、ここに表示したい。こんな表紙である:小さくてよくわからないかもしれないが、写真の部分は渦巻銀河である。渦巻きの白い部分はよく見ると「テキスト」になっている。全文検索は膨大なテキスト情報から検索質問語をキーにして目的の文書を取り出す機能であるが、「膨大なテキスト情報」を数千億もの星が集まって構成されているといわれる「銀河」になぞらえたイラストで、なかなかしゃれている。最近、こういった本の表紙イラストや立ち上げ準備中の新会社のロゴという、デザイナーの仕事(アウトプット)を間近で見る機会が続いているが、感心しきりである。デザイン自体もそうだが、彼らの発想もまたすばらしい。肝心の本の中身だが、まえがきの後に書いた「本書の構成」の原稿を以下に貼り付けるので、参考にしていただきたい。近日中にある事情で「ボツ」になったまえがきの原稿も公開しようと思う。本書は6章構成になっており、第1章から第4章が前編、第5章と第6章が後編となっている。前編を「基本編」、後編を「応用編」と読み替えてもよい。Luceneのアプリケーションを書くためには「基本編」である第1章から第4章を通読しておくことが望ましい。「応用編」である第5章と第6章は余力があれば読むとよいだろう。第1章は、全文検索とLuceneの基本知識の習得を目標とし、これらについて簡潔に述べている。Luceneに関しては、最初の全文検索のサンプルプログラムを作成し、その内容や動作を紹介している。サンプルプログラムの題材(全文検索のためのコンテンツ)には、日本でもっとも有名なファミリーである「サザエさん一家」を使用している。第2章は、Analyzer(アナライザー)について説明している。Analyzerは、全文検索の対象となるドキュメントテキストを分析し、単語を取り出す働きをするものである。本章では特に日本語のテキストの分析に重きを置き、JapaneseAnalyzerの解説にページ数を割いている。その後、CJKAnalyzer、StandardAnalyzerおよびその他のAnalyzerを紹介する。Luceneは全文検索に「転置索引方式」を採用している。そのため、検索の前にあらかじめ「インデックス」を作成しておかなければならない。第3章では、その「インデックス」の作成方法について説明している。その後、第4章で「インデックス」の検索方法について説明している。後編の第5章では、前編で習得した知識を使って、全文検索機能を持ったWebアプリケーションを作成する。Wordファイル」といった「異種ドキュメント」を透過的に検索し、表示する。第6章では、「セキュリティ」、「検索質問語の強調表示」、「Ajaxを使用したインクリメンタルサーチ」等々といった、より応用的・発展的な内容を取り上げている。読者のLuceneアプリケーションにいろいろな機能を追加する際のヒントとなるだろう。AにはLuceneはじめ、その他の関連ツールおよび本書のサンプルプログラムのインストールと実行方法を掲載している。比較のポイント商用検索エンジンを購入した企業担当者は読まないでください。McCandlessFastVectorHighlighterについて解説記事を寄稿しました。