alfresco_study_4_alfresco4_solr_integration
TRANSCRIPT
第 4 回 Alfresco 勉強会
Alfresco 4.0 Solr 連携を試してみる!
2011/11/25@_tasky
自己紹介 私は…
◦ @_tasky 平日は…
◦ 株式会社イージフで Alfresco や Liferay をいじってます 休日は…
◦ 1 児の父業やってます◦ 最近娘が歩き始めました!
Contents Alfresco の検索機能ってSolr (そーら)とはSolr vs LuceneAlfresco Solr 連携
◦ セットアップの前に…◦ [Demo] セットアップ◦ [Demo] 動作確認
※ 基本的には全て Alfresco 4 の話◦ デモには Alfresco Community 4.0.b を使用◦ Enterprise 版はまだ出てません
Alfresco の検索機能ってAlfresco は標準で全文検索に対応していますAlfresco は全文検索エンジンとして Lucene を利
用していますAlfresco 4.0 からは Solr をサポートします
⇒ というわけで早速 Solr 連携を試してみました!
※ Alfresco 4.0 の最新バージョン◦ コミュニティ版 : 4.0.b◦ エンタープライズ版 : 2011/12 初版リリース予定
※ Apache Lucene : http://lucene.apache.org/
Solr (そーら)とは オープンソースの全文検索アプリケーション
= Lucene
+ HTTP/XML and JSON APIs
+ その他諸々の拡張機能
◦ 高いスケーラビリティ◦ 分散検索(シャーディング)◦ インデクスレプリケーション
※ Apache Solr : http://lucene.apache.org/solr/
Solr vs Lucene Solr を使うシナリオ
◦ 検索エンジンを別サーバで稼働させる◦ インデクスをレプリケーションする◦ インデクスシャーディング
Lucene を使うシナリオ (=Solr が使えないシナリオ )◦ alfresco, archive ストア以外を使う場合
WCM マルチテナント
◦ トランザクション内でのインデクシングを行う場合 コンテンツ更新とインデクス更新の同期 RM (レコード管理)
※ http://docs.alfresco.com/4.0/topic/com.alfresco.enterprise.doc/concepts/solr-choosing.html
Alfresco Solr 連携セットアップの前に… 検索機能がサブシステム化されました
◦ <tomcat_dir>/webapps/alfresco/WEB-INF/classes/alfresco/subsystems/Search
検索エンジンを Lucene/Solr から選択できます◦ alfresco-global.properties で指定
index.subsystem.name=solr or lucene
※ サブシステム : Alfresco の機能をモジュール化して切り出したもの 個別に開始・停止・構成変更することが可能 (同一 I/F を持つ)別モジュールへの差し替えが容易
※ Solr 関連の定義は上記サブシステムフォルダと以下のファイルを参照 <tomcat_dir>/webapps/alfresco/WEB-INF/classes/alfresco/core-
services-context.xml <tomcat_dir>/webapps/alfresco/WEB-INF/classes/alfresco/
repository.properties
Alfresco Solr 連携セットアップ (1)1. Alfresco 4 のインストールと標準的なセットアップ
◦ Alfresco Community 4.0.bhttp://wiki.alfresco.com/wiki/Community_file_list_4.0.b
2. Solr 連携用アーカイブファイルのダウンロード◦ alfresco-community-solr-4.0.b.zip
http://en.sourceforge.jp/projects/sfnet_alfresco/releases/
3. 上記ファイルを <solr_archive> に展開
4. solr アプリ用コンテキスト xml のコピー◦ <solr_archive>/solr-tomcat-context.xml を
<tomcat_dir>/conf/Catalina/localhost/solr.xml にコピー
5. solr.xml の編集◦ @@ALFRESCO_SOLR_DIR@@ を <solr_archive> に置換( 2 箇所)
※ 今回は alfresco と同一サーバに solr をセットアップします
Alfresco Solr 連携セットアップ (2)6. solrcore.properties の編集
◦ <solr-archive>/archive-SpacesStore/conf/solrcore.properties ◦ <solr-archive>/workspace-SpacesStore/conf/solrcore.properties
の 2 ファイルを以下のように編集◦ data.dir.root を <alfresco_home>/alf_data/solr に変更◦ alfresco.url=http://localhost:8080/alfresco/service を追加
7. alfresco-global.properties への設定の追加
dir.keystore=${dir.root}/keystore
index.subsystem.name=solr
solr.host=localhost
solr.port=8080
solr.port.ssl=8443
8. keystore ディレクトリのコピー◦ <tomcat_dir>/webapps/alfresco/WEB-INF/classes/ alfresco/keystore
を <alfresco_home>/ald_data/keystore にコピー
Alfresco Solr 連携セットアップ (3)9. <tomcat_dir>/conf/tomcat-user.xml への設定の追加
<user username="CN=Alfresco Repository Client, OU=Unknown, O=Alfresco Software Ltd., L=Maidenhead, ST=UK, C=GB" roles="repoclient" password="null"/> <user username="CN=Alfresco Repository, OU=Unknown, O=Alfresco Software Ltd., L=Maidenhead, ST=UK, C=GB" roles="repository" password="null"/>
10. <tomcat_dir>/conf/server.xml ポート 8443 の設定変更
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" maxThreads="150" scheme="https" keystoreFile="../alf_data/keystore/ssl.keystore" keystorePass="kT9X6oe68t" keystoreType="JCEKS" secure="true" connectionTimeout="240000" truststoreFile="../alf_data/keystore/ssl.truststore" truststorePass="kT9X6oe68t" truststoreType="JCEKS" clientAuth="false" sslProtocol="TLS" allowUnsafeLegacyRenegotiation="true“ />
11. Alfresco を起動
※ うまく動作しないときは、以下の資料を見てください◦http://docs.alfresco.com/4.0/index.jsp?topic=%2Fcom.alfresco.enterprise.doc%2Fconcepts%2Fsolr-intro.html
◦http://wiki.alfresco.com/wiki/Alfresco_And_SOLR◦<solr_archive>/HowToSetUpSolr.txt
Alfresco Solr 連携動作確認1. Solr 管理画面へのアクセス
1. Firefox の証明書マネージャで「あなたの証明書」に<alfresco_home>/alf_data/keystore/ browser.p12 をインポートする(パスワードは alfresco )
2. http://localhost:8080/solr にアクセスする
3. セキュリティアラートが表示されるので、「例外を追加」を行いアクセスを許可する
2. Alfresco での検索確認1. http://localhost:8080/share にログイン
2. "sample" 等で検索し、結果が表示されることを確認
⇒ Welcome to Solr!クエリサンプル: https://localhost:8443/solr/alfresco/afts?indent=on&q=sample
まとめ 検索エンジンの外出し、スケーラビリティ : Solr in-transaction indexing : Lucene 検索機能はサブシステムで設定Alfresco が用意する zip ファイルで簡単セット
アップ◦ Solr 導入、 Alfresco 設定変更、 tomcat の SSL 設定、の
3 ステップ