CMS(コンテンツ管理システム)について、その手法、ノウハウ、参考になりそうなリソースなど、CMSの活用情報をさまざまな角度からお届けいたします。
以下は「eZ Publish」関連の最新記事10件です。
2011年5月31日
eZ Find [3] eZFindの設定について(1)
システムエンジニア 野沢
前回に引き続き、今回は検索インデックス更新周りを設定するためのeZ Findの設定を紹介します
DelayedIndexing
検索インデックスの更新タイミングを変更する場合、site.iniの以下の設定を変更します。
[SearchSettings]
DelayedIndexing=disabled
通常、検索インデックスはeZ管理画面上でオブジェクトを作成・更新・削除したタイミングで更新されます。
この設定を「enabled」に設定した場合、オブジェクトは検索インデックス用のキューに自らのIDを登録することで、検索インデックスへの登録を任意の時間に延期することができます。
蓄積されたIDに対してインデックス処理を行う場合は、以下のクーロンを実行します。
cd /ezroot/ && php ./runcronjob.php -s <admin siteaccess> ezfindexcontent
なお、サイト全体のインデックスを再構築する際には以下のコマンドを実行します。
cd /ezroot/ && php extension/ezfind/bin/php/updatesearchindexsolr.php -s <admin siteaccess> --php-exec=<php-cli path> --clean
--php-execにはPHPコマンドのパスを、--cleanを指定した場合はすべてのインデックスを一端削除した上で再構築を行います。
次回も引き続きeZFindの設定にについて紹介します。
2011年4月15日
eZ Find [2] インストールから起動まで~後半~
システムエンジニア 野沢
前回に引き続き、eZ Findのインストールと設定の後半になります。
Solrの設定と起動確認
▼1:
必要なファイルをeZFindからSolrにコピーします。
# cd /ezroot/extension/ezfind/java/solr/conf/
# cp schema.xml $SOLR_HOME/solr/conf/
# cp solrconfig.xml $SOLR_HOME/solr/conf/
# cd /ezroot/extension/ezfind/java/solr/lib/
# cp ezsystems-ezfind-solr-extension-2.1.jar $SOLR_HOME/solr/lib/
▼2:
今回、Servletコンテナは同胞されているjettyを利用し、Solrを起動します。
そのために、eZFindに同胞されている起動スクリプトの環境変数を設定し任意のディレクトリにコピーします。
# vi /ezroot/extension/ezfind/bin/scripts/rhel/solr
20,21行目の変数を変更します
20 SOLR_HOME=/usr/local/apache-solr-1.4.1/example
21 JAVA_HOME=/usr/java/default
# cp /ezroot/extension/ezfind/bin/scripts/rhel/solr /etc/init.d/solr
# /etc/init.d/solr
管理画面にアクセスし、Solrの起動を確認します。
http://localhost:8983/solr/admin/
eZFindの設定と起動確認
▼1:
以下のファイルを確認しSearchServerURIの値がSolrのURIと同じであることを確認します。
- in /ezroot/extension/ezfind/settings/solr.ini
SearchServerURI=http://localhost:8983/solr
▼2:
eZに登録された全コンテンツのインデキシングを行います。
# cd /ezroot/
# php ./extension/ezfind/bin/php/updatesearchindexsolr.php --php-exec=php
▼3:
フロントエンドの検索結果画面を確認しeZFindが有効になっていることを確認します。
http://ez-publish-url/[フロントエンドのサイトアクセス/]content/search?SearchText=
画面下部に「using eZ Find 2.1 search plugin」と表示されればインストールの完了です。
次回はeZFindの設定についてです。
2011年2月25日
eZ Find [2] インストールから起動まで~前半~
前回に引き続き、今回から2回に分けて、eZ Findのインストールと設定を行っていきます。 今回インストールする環境は以下です。
■環境
OS | CentOS 5.4 |
---|---|
データベース | MySQL 5.0 |
Java version | 1.6.0 |
PHP version | 5.2.9 |
eZ Publish version | 4.2 以上 |
■インストール
Solr | 1.4.1 |
---|---|
eZ Find | 2.1 |
※. eZFindにはSolrのパッケージ自体が含まれますが、
最新版を利用するため、Solrは別途インストールを行います。
Solrのインストール
http://www.apache.org/dyn/closer.cgi/lucene/solr/1.4.1
上記サイトよりパッケージをダウンロードしフォルダに展開します。
今回は「/usr/local/」以下に展開します。
以降、展開したフォルダのパス「/usr/local/apache-solr-1.4.1/example」を $SOLR_HOME とします。
eZFindのインストール
まずeZPublishにeZFindのエクステンションをインストールします。
▼1:
下記サイトよりパッケージをダウンロードし
作成された「ezfind」フォルダをeZの「extension」フォルダに移動します。
# wget http://share.ez.no/content/download/105095/486678/version/1/file/ezfind-extension-2.1.tar.gz
# tar zxvf ezfind-extension-2.1.tar.gz
# mv ezfind /ezroot/extension/
▼2:
データベースの設定を行います。
# mysql -n -h localhost -u <username> -p <dbname> < /ezroot/extension/ezfind/sql/mysql/mysql.sql
▼3:
Extensionを有効化します。
「/ezroot/settings/override/site.ini.append.php」を編集します。
「[ExtensionSettings]」のINIセクションに以下を追記します。
ActiveExtensions[]=ezfind
▼4:
エクステンション用のオートロード配列の再生成を行います。
# cd /ezroot/
# /usr/bin/php ./bin/php/ezpgenerateautoloads.php --extension
▼5:
キャッシュをすべてクリアします。
# cd /ezroot/
# /usr/bin/php ./bin/php/ezcache.php --clear-all
次回は引き続き、設定と起動確認を行います。
2011年1月27日
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のインストールから起動までをご紹介します。
2010年12月16日
オープンソースで作る検索システム~Lucene/solr・Hadoop・JBossの活用事例~参加報告
システムエンジニア 野沢
先日住商情報システム株式会社様主催の「オープンソースで作る検索システム~Lucene/solr・Hadoop・JBossの活用事例~」に参加してきました。
セミナーにて
セミナーではSolrを中心にHadoop,JBossなどの活用した大規模検索システム案件の
紹介を中心に、お話をいただきました。
特に、大量データの処理におけるSolrの導入のポイント、
例えば、RDBで処理を行っていた参照系の処理をSolrへ移行や、
SolrとHadoopを利用した検索インデックス作成やログ解析システムの構築など、
事例を合わせてご紹介していただき、大変参考になりました。
弊社でのSolrの活用事例
弊社のSolrの活用事例としては、
eZ FindというeZ Publishの拡張機能があるのですが、これがSolrがバンドルされた検索拡張機能になっています。
標準の検索機能では実現できない,「全文検索」「ファセット検索」「ハイライティング」など
機能を備えていることから、大量の商品情報などを取り扱うサイトなどで導入事例も増えてきています。
eZ Findの導入について
eZ Findは、多くのサイトに有効なextentionでありながらeZ Systems社のサイトにインストール方法などはなく、また日本語のドキュメントが少ないのが現状です。
そのような状況ですので、導入を検討されている方も"壁"を感じているのではないでしょうか。
今後はこのブログで、eZ Findのインストールから設定までをご紹介したいと考えています。
2010年8月20日
セミナー情報管理ソリューション standard 開発の舞台裏 ― サイト内検索とeZ Find
システムエンジニア 野沢
弊社がeZ Publishをベースに開発したパッケージ "セミナー情報管理ソリューション standard"でどのような機能を用いて開発したかをお伝えしていきます。
サイト内検索とeZ Find
今回は弊社がeZ Publish(以下eZ)をベースに開発したパッケージ"セミナー情報管理ソリューション standard"で使用している拡張機能)の中からサイト内検索についてご紹介いたします。
検索画面 - セミナー情報管理ソリューション standard
こちらの画面ですが全文検索機能を備えた検索になっており、eZ Findという拡張機能を使い実現しています。
eZ Findについて
公式サイトでは以下のように説明されており、マニュアルもPDF形式でダウンロード可能です。
eZ Findは eZ Publish用のエンタープライズ・サーチプラグインです。 Lucene Java/ Solr サーチライブラリを利用しています。eZ Findは複数インストレーションを通じた同時検索や、関連性を基にした検索結果の表示等を可能にします。エンタープライズ利用に耐えうる、パフォーマンス、スケーラビリティが保障されています。
マニュアル
Solrについてですが、
- ファセット機能 - コンテンツのカテゴリーや著者などで結果を絞り込むことができる
- ハイライト機能 - 検索キーワードがコンテンツのどの部分でヒットしたかを表示してくれる
などの特長があるオープンソースの全文検索エンジンになります。
eZ Findでは、Solrの機能をテンプレート上から操作するテンプレート関数を備えており、 SolrのAPIを意識することなく、スピーディーに機能を実装することが可能です。 eZ Findのテンプレート関数についてはマニュアルを参照していただければと思います。
最近ではCMSで管理する対象は広がり、それに比例してコンテンツ数は大きくなる傾向があります。その中から目当てのコンテンツを探し出すための検索機能は必須であり弊社で構築したプロジェクトでは多くの導入事例があります。
2010年7月16日
Varnishについて触れているページ、まとめ
システムエンジニア 野沢
昨年末からVarnishについてこのBlogで記事を公開させていただいております。全体の流れはeZSIの評価~検証予告からスタートしてインストール~設定という内容となっています。導入実績は5つをこえており、タイムリーな実績では先日の参議院選挙時に集中アクセスが発生したサイトがあげられます。eZ Publishを利用して運営されているサイトで、ハードウェアも近年のものと比較すると相当スペックは落ちますが、Varnishを利用して安定稼働を実現しました。
以下では、過去に公開済みのVarnishについて触れているページを紹介させていただきます。
2010年6月18日
Varnishの設定 その2
システムエンジニア 野沢
各ブロックの役割続き
前回に続き、残りのブロックにつき見ていきます。
vcl_pipe : Varnishを通過させる際の処理
vcl_pass : Varnishでキャッシュさせない時の処理
vcl_hit : キャッシュにヒットした時の処理
vcl_miss : キャッシュにヒットしなかった時の処理
vcl_error : 各種エラーの時の処理
vcl_deliver : コンテンツを送信する際の処理
2010年4月 9日
CMSニュース(2010/4/8)
システムエンジニア 野沢
eZ Publishニュース
■eZ Publish4.3がリリースされました(2010/3/30)
弊社でもインストールはしてみたものの、実プロジェクトでの利用はまだ控えている状況です。
管理画面が大きく改善されている(今回のバージョンアップの目玉でもある)のですが、たいへん大きな変更なため今までの利用者には(慣れている分)戸惑いがあるかと思います。
なお、4.2までの管理画面も引き続き利用できるようになっております。
手順は以下のようにします。
2010年3月26日
eZ Publishトレーニング [クイックスタートコース]の日程について(2010年4月、5月)
システムエンジニア 野沢
eZ Publishトレーニング [クイックスタートコース]とは?
クイックスタートコースは、CMSパッケージ導入プロジェクトにおける上流工程で選定および導入支援に携わる方や、今後eZ Publishの導入を検討されている方を対象に、導入のために必要な知識・ノウハウをコンパクトにまとめてお伝えするエントリー向け研修です。