eZ Find [1] エンタプライズサーチを実現するeZ Publishのエクステンション
弊社では2年程前から、eZ Publish(以下eZ)のエクステンションであるeZ Findを利用してきましたが、導入実績も豊富になってきましたので、インストール方法や設定についてご紹介していきます。
まずeZデフォルトの検索についてですが、 以下のような問題がありました。
- 検索毎にデータベースにアクセスするため、 1万件を超えるような大量のコンテンツを保有するサイトでは、 コンテンツが増えていく度に検索スピードが遅くなってしまった
- 柔軟な検索軸を必要とする商品検索などを実現するのが、DB設計上で難しい
これらの問題を解決するためにeZ Findの導入に取り組んできました。
Solrとは?
まず、eZ FindはSolrをベースにしたeZのエクステンションです。
Solr(ソーラー)とはオープンソースの検索エンジンサーバーです。
Apache LuceneというJavaベースの検索ライブラリをベースにしており、日本でも多くのサイトで利用実績があります。
また、Solrはjavaのサーブレットコンテナにデプロイするだけなので簡単に導入することができるという利点もあります。
詳しい内容についてはSolrのwikiや日本語の書籍が発行されていますので、そちらが参考になります。
eZ Findとは?
次にeZ Findの概要についてですが
eZ Findを利用することで、エンタープライズ向けのサーチを提供することができます。
検索システムとしての特徴は以下になります。
- 全文検索機能、形態素解析、n-gramを利用した全文検索
- ファセット検索、検索結果の絞り込みを容易に実現するドリルダウンナビゲーション
- ハイライティング、検索結果の中で検索キーワードにマッチする単語ハイライト
- 検索キーワードとの関連性が考慮された検索結果のランキング表示
また、eZとSolrの連携を容易にする以下の機能も提供されています。
- クローラー機能、CMSの管理画面から登録された記事を自動的にSolrのインデックスに登録
- テンプレートからSolrの検索インターフェイスを利用するためのテンプレートオペレータやPHPベースのAPIを提供
また、eZ Findの機能としては提供されていませんが、 Solrを利用して「レプリケーション」や「分散検索」などの機能を実現することも可能です。
次回は、eZ Findのインストールから起動までをご紹介します。