書籍概要

Software Design plus

[改訂新版]Apache Solr入門
――オープンソース全文検索エンジン

著者
発売日
更新日

概要

最新版Apaceh Solr Ver.4.5.1に対応するため大幅な書き直しと原稿の追加を行い,現在の開発環境に合わせて完全にアップデートしました。Apache Solrは多様なプログラミング言語に対応した全文検索エンジンです。システムに検索機能を実装することは,自社の情報資産を守ることと,活用することその両方を一挙に実現します。そのためApache Solrを自社の情報資産活用に使うことが注目されています。本書は,Solrの基本機能を原理としくみから詳しく紹介し,どのようにSolrを実装していくか豊富なサンプルとともに解説を行います。

こんな方におすすめ

  • 検索システムに興味のある方。前提として,JavaScriptやPHP,Javaなどのプログラミング経験がある方

著者から一言

本書は,情報検索に興味を持つ,あらゆる人を対象としています。学生から社会人,週末プログラマから職業プログラマ,SE,プログラミングをしない情報システムを使うだけの人,検索エンジンを比較検討しようとしている人……制限はありません。それぞれの立場でSolr をお楽しみください。しかしながら,本書はSolr の技術解説書でもあり,Solr をインストールしたりサンプルコードを設定したりする場面もあります。そのときは技術的なバックグラウンドのある方は若干有利でしょう。自分の経験に感謝しつつ,コマンドを入力したり,検索して結果を確認したり,より深くお楽しみください。

サンプルコードのダウンロードと本書のサポート

本書で紹介しているサンプルプログラムや設定ファイルは,技術評論社のホームページをはじめ,執筆陣が勤務する下記の会社のホームページからダウンロードできます。

本書の執筆には万全を期しましたが,ソフトウェア同様,残念ながら不具合が紛れ込む可能性があります。万一誤りを発見したり,手順どおり試したのに動かないことなどがありましたら,上記ホームページの問い合わせフォームなどからお気軽にご連絡ください。また,下記ブログのコメント欄でも受け付けます。

いただいた問い合わせには,個別に回答したり,ブログの記事上で回答したり,正誤表を作成したりなど,何らかの対応をしたいと思います。なお対応には時間がかかる場合がありますので,あらかじめご了承ください。

サンプル

samplesamplesample

目次

第1章 イントロダクション

Apache Solrとはどのような検索エンジンなのかその特徴を述べ,次に全文検索の基礎知識である転置索引と転置索引を使った検索について説明します。インストールして実行する方法を,次にアーキテクチャを説明します。

第2章 スキーマの設定

Solrのインデックスは,RDBのテーブルの「カラム」に相当する「フィールド」で構成されています。インデックスがどのような型のフィールドで構成されているかという定義は,Solrのスキーマ定義ファイルで設定を行います。

第3章 インデックスの作成

Solrのインデックスの作成,更新の方法,それにかかわる設定や属性について学びます。

第4章 検索する

Solrで,どういった検索が行えるのか(検索式の書き方,ソートの指定方法,取得件数指定方法など),検索の付加機能(ファセット,ハイライト機能,キャッシュ)にどういったものが用意されているのかについて説明していきます。

第5章 クライアントプログラミング

いろいろなプログラミング言語によるSolrサーバへのアクセス方法について学んでいきます。共通の機能を持ったサンプルアプリケーションについてプログラミング言語ごとに説明していきます。

第6章 データのクローリング

検索対象文書のデータクローリングとして,データベースやRSSフィードなどのXMLファイルをSolrに取り込む「データインポートハンドラ(DIH)」機能や,Solrと親和性が高く,ファイルサーバやCMSをクロールしてSolrに取り込むことができる「Apache ManifoldCF」を紹介します。

第7章 より高度な検索

Solrのより高度な検索について学びます。本章前半では,Solrの「サーチコンポーネント」という機能を用いて,検索結果のランキングを調整したり,検索結果にさまざまな関連情報を付加する方法について学びます。

第8章 クラスタ構築と運用

分散インデックス・分散検索とレプリケーションを用いた検索クラスタとSolr4.0から新たに追加されたSolrCloud を用いた検索クラスタの構築および運用方法を紹介します。

第9章 開発および運用のTIPS

Solrを実際のサービスで利用しているリクルートにおける開発・運用上の経験を,TIPSとして紹介します。

Appendix

スキーマ操作/マルチコア操作/コレクション操作について紹介します。

サポート

ダウンロード

本書掲載のサンプルファイルをダウンロードできます。

データは,圧縮ファイル形式でダウンロードできます。圧縮ファイルをダウンロードしていただき,適宜解凍してご利用ください。

サンプルファイル(solrbook.zip)約4.2MB

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2014年5月7日更新)

v 前書き - サンプルコードのダウンロード本書のサポート

株式会社ロンウイット http://www.rondhuit.co.jp
株式会社ロンウイット http://www.rondhuit.com

P.25 Chapter 2 - 表2-2 フィールド型の属性一覧

name(必須) | なし | フィールドの名前
type(必須) | なし | フィールド型
name(必須) | なし | フィールドの名前
class(必須) | なし | クラス名

P.32 Chapter 2 - PatternReplaceCharFilterFactory

この定義の場合は,先頭から始まる「a」から「z」までの小文字のアルファベットを空文字に置き換えるという定義になります。
この定義の場合は,小文字のアルファベット以外を空文字に置き換える(削除する)という定義になります。

P.32 Chapter 2 - HTMLStripCharFilterFactory

HTMLStripCharFilterFactoryで処理すると"△ Solr△"(△はスペースを示す)というテキスト出力が得られます。
HTMLStripCharFilterFactoryで処理するとタグが削除され、" Solr"というテキストのみ得られます。

P.32 Chapter 2 - PatternReplaceCharFilterFactory

この定義の場合は,先頭から始まる「a」から「z」までの小文字のアルファベットを空文字に置き換えるという定義になります。
この定義の場合は,小文字のアルファベット以外を空文字に置き換える(削除する)という定義になります。

P.34 Chapter 2 - StandardTokenizerFactory
(トークンの切り出し説明個所)

本日/ Solr / 4.4 /が/リリース/さ/れ/ま/し/
日/ Solr / 4.4 /が/リリース/さ/れ/ま/し/

P.183 Chapter 6 - ManifoldCFを使う(ローカルファイルシステムのクロール)

そして、ManifoldCFのWeb画面をブラウザでアクセスします。
そして、ManifoldCFのWeb画面をブラウザでアクセスします。ManifoldCF 1.3以降では、ログイン画面が表示されますので、ユーザーIDを「admin」、パスワードを「admin」と入力してログインします。

P.190 Chapter 6 - ManifoldCFを使う(Windowsサーバのクロール)

そして、ManifoldCFのWeb画面をブラウザでアクセスします。
そして、ManifoldCFのWeb画面をブラウザでアクセスします。ManifoldCF 1.3以降では、ログイン画面が表示されますので、ユーザーIDを「admin」、パスワードを「admin」と入力してログインします。

P.212 Chapter 7 - Suggester
表7-6 Suggesterオプション

サジェスチョン辞書の保存先ディレクトリをしている
サジェスチョン辞書の保存先ディレクトリを指定す

商品一覧