alfresco_study_4_alfresco4_solr_integration

12
第 4 第 Alfresco 第第第 Alfresco 4.0 Solr 第第第第第第第第2011/11/25 @_tasky

Upload: tasuku-otani

Post on 27-Jun-2015

1.913 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: alfresco_study_4_alfresco4_solr_integration

第 4 回 Alfresco 勉強会

Alfresco 4.0 Solr 連携を試してみる!

2011/11/25@_tasky

Page 2: alfresco_study_4_alfresco4_solr_integration

自己紹介 私は…

◦ @_tasky 平日は…

◦ 株式会社イージフで Alfresco や Liferay をいじってます 休日は…

◦ 1 児の父業やってます◦ 最近娘が歩き始めました!

Page 3: alfresco_study_4_alfresco4_solr_integration

Contents Alfresco の検索機能ってSolr (そーら)とはSolr vs LuceneAlfresco Solr 連携

◦ セットアップの前に…◦ [Demo] セットアップ◦ [Demo] 動作確認

※ 基本的には全て Alfresco 4 の話◦ デモには Alfresco Community 4.0.b を使用◦ Enterprise 版はまだ出てません

Page 4: alfresco_study_4_alfresco4_solr_integration

Alfresco の検索機能ってAlfresco は標準で全文検索に対応していますAlfresco は全文検索エンジンとして Lucene を利

用していますAlfresco 4.0 からは Solr をサポートします

⇒ というわけで早速 Solr 連携を試してみました!

※ Alfresco 4.0 の最新バージョン◦ コミュニティ版 : 4.0.b◦ エンタープライズ版 : 2011/12 初版リリース予定

※ Apache Lucene : http://lucene.apache.org/

Page 5: alfresco_study_4_alfresco4_solr_integration

Solr (そーら)とは オープンソースの全文検索アプリケーション

= Lucene

+ HTTP/XML and JSON APIs

+ その他諸々の拡張機能

◦ 高いスケーラビリティ◦ 分散検索(シャーディング)◦ インデクスレプリケーション

※ Apache Solr : http://lucene.apache.org/solr/

Page 6: alfresco_study_4_alfresco4_solr_integration

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

Page 7: alfresco_study_4_alfresco4_solr_integration

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

Page 8: alfresco_study_4_alfresco4_solr_integration

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 をセットアップします

Page 9: alfresco_study_4_alfresco4_solr_integration

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 にコピー

Page 10: alfresco_study_4_alfresco4_solr_integration

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

Page 11: alfresco_study_4_alfresco4_solr_integration

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

Page 12: alfresco_study_4_alfresco4_solr_integration

まとめ 検索エンジンの外出し、スケーラビリティ : Solr in-transaction indexing : Lucene 検索機能はサブシステムで設定Alfresco が用意する zip ファイルで簡単セット

アップ◦ Solr 導入、 Alfresco 設定変更、 tomcat の SSL 設定、の

3 ステップ