現在表示中:

AEM プラットフォーム用の Solr

別々のコレクションを使用することで、1 つの Apache Solrノードストア(Oak)と共通ストア(SRP)の間で共有できます。

Oak と SRP のコレクションがどちらも高頻度で使用される場合は、パフォーマンス上の理由から 2 つ目の Solr をインストールすることもできます。

実稼動環境では、SolrCloud モードを使用すると、スタンドアロンモード(単一のローカルの Solr セットアップ)よりもパフォーマンスが向上します。

要件

Apache Solr のダウンロードとインストール:

SolrCloud モード

実稼動環境では SolrCloud モードを推奨します。SolrCloud モードで実行する場合は、多言語検索(MLS)をインストールする前に、SolrCloud をインストールして設定する必要があります。

SolrCloud の手順に従い、以下をインストールすることを推奨します。

  • 同じサーバー上の 3 つの SolrCloud ノード
  • 外部の Apache ZooKeeper

また、メモリ使用量とガベージコレクションを調整するために、JVM を設定することを推奨します。

JVM の設定例

JVM_OPTS="-server -Xmx2048m -XX:MaxPermSize=768M -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -Xloggc:../logs/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Djava.awt.headless=true"  

SolrCloud セットアップコマンド

SolrCloud モードで実行する場合は、MLS をインストールする前に、以下の SolrCloud セットアップコマンドを理解して使用する必要があります。

1. 設定を ZooKeeper にアップロード

参考:
  https://cwiki.apache.org/confluence/display/solr/Command+Line+Utilities

使用方法:
  sh ./scripts/cloud-scripts/zkcli.sh \
    -cmd upconfig \
    -zkhost server:port \
    -confname myconfig-name \
    -solrhome solr-home-path \
    -confdir config-dir

2. コレクションを作成

参考:
  https://cwiki.apache.org/confluence/display/solr/Solr+Start+Script+Reference#SolrStartScriptReference-Create

使用方法:
  ./bin/solr create \
    -c mycollection-name \
    -d config-dir \
    -n myconfig-name \
    -p port \
    -s number-of-shards \
    -rf number-of-replicas

3. コレクションを設定セットにリンク

コレクションを ZooKeeper にアップロードした設定にリンクします。

参考:
  https://cwiki.apache.org/confluence/display/solr/Command+Line+Utilities

使用方法:
  sh ./scripts/cloud-scripts/zkcli.sh \
    -cmd linkconfig \
    -zkhost server:port \
    -collection mycollection-name \
    -confname myconfig-name

標準の MLS と高度な MLS の比較

AEM Communities の多言語検索(MLS)は、英語を含め、サポートされるすべての言語にまたがる検索の質を向上させる目的で、Solr プラットフォーム用に構築された機能です。 

AEM Communities の MLS は、標準の MLS と高度な MLS のどちらかを利用できます。標準の MLS には Solr 設定だけが含まれ、プラグインやリソースファイルは含まれていません。高度な MLS は、より包括的なソリューションであり、Solr 設定に加えてプラグインと関連リソースを含んでいます。

標準の MLS には、以下の言語のコンテンツ検索の機能強化が含まれています。

  • 英語:派生語をマッチさせるためのステマーの向上
  • 日本語:日本語の半角文字のトークン化の向上

高度な MLS には、下の言語のコンテンツ検索の機能強化が含まれています。

  • 英語:ステマーをレマタイザーに交換
  • ドイツ語:デコンパウンダーを追加
  • フランス語:エリジオン処理を追加
  • 中国語(簡体):よりスマートなトークナイザーを追加
  • 様々な言語:ステマー、ストップワードリストおよびノーマライザーを追加

高度な MLS では、合計で以下の 33 の言語がサポートされます。

アラビア語 ドイツ語 ノルウェー語
ブルガリア語 ギリシャ語 ポーランド語
簡体字中国語 ハイチ語 ポルトガル語
中国語 (繁体) ヘブライ語 ルーマニア語
チェコ語 ハンガリー語 ロシア語
デンマーク語 インドネシア語 スロバキア語
オランダ語 イタリア語 スロベニア語
英語 日本語 スペイン語
エストニア語 韓国語 スウェーデン語
フィンランド語 ラトビア語 タイ語
フランス語 リトアニア語 トルコ語

AEM 6.1 Solr 検索、標準の MLS、高度な MLS の比較

注意:ここで言う AEM 6.1 とは、AEM 6.1 Communities FP3 以前を指します。

chlimage_1

標準の MLS のインストール

標準の多言語検索(MLS)をサポートするには、SRP コレクション(MSRP または DSRP)について、以下の 2 つの Solr の設定ファイルを変更する必要があります。

  • schema.xml
  • solrconfig.xml

ダウンロード

ダウンロード

標準の MLS ファイルは AEM リポジトリに格納されます。 

注意:Solr ファイルは msrp/ フォルダーに格納されていますが、DSRP にも対応します(変更不要)。

ダウンロードの手順solrX は、適宜 solr4 または solr5 に置き換えてください。

  1. CRXDE|Lite を使用して次のファイルを見つけます。
    •  /libs/social/config/datastore/msrp/solrX/schema.xml
    • /libs/social/config/datastore/msrp/solrX/solrconfig.xml

  2. Solr をデプロイするローカルサーバーにダウンロードします。
    • jcr:content ノードの jcr:data プロパティを見つけます。
    • view を選択してダウンロードを開始します。
    • ファイルが適切な名前とエンコード(UTF8)で保存されていることを確認します。
  3. スタンドアロンモードまたは SolrCloud モードのインストール手順に従います。

SolrCloud モード - 標準の MLS

  1. SolrCloud モードの Solr をインストールして設定します。
  2. 以下の手順で新しい設定を用意します。
    1. 新しい設定ディレクトリ(new-config-dir)を作成します。
         例:solr-install-dir/myconfig/
    2. 既存の Solr 設定ディレクトリの内容を new-config-dir にコピーします。
      • Solr4 の場合:solr-install-dir/example/solr/collection1/conf/* をコピー
      • Solr5 の場合:solr-install-dir/server/solr/configsets/data_driven_schema_configs/* をコピー
    3. ダウンロードした schema.xmlsolrconfig.xmlnew-config-dir にコピーして既存のファイルを上書きします。
  3. ZooKeeper に新しい設定をアップロードします。
  4. シャードの数、レプリカ数および設定名など、必要なパラメーターを設定してコレクションを作成します。
  5. 設定の名前をコレクション作成中に指定しなかった場合は、ZooKeeper にアップロードした設定に新しく作成したこのコレクションをリンクします。
  6. MSRP の場合、新規インストールである場合を除き、MSRP インデックス再作成ツールを実行します。

スタンドアロンモード - 標準の MLS

  1. スタンドアロンモードの Solr をインストールします。
  2. Solr5 を実行している場合、以下のコマンドで collection1 を作成します(Solr4 と同様)。
    • ./bin/solr start
    • ./bin/solr create_core -c collection1 -d sample_techproducts_configs
  3. 例えば以下の Solr 設定ディレクトリに schema.xmlsolrconfig.xml にバックアップします。
    • Solr4 の場合:solr-install-dir/example/solr/collection1/conf/
    • Solr5 用に作成した場合:solr-install-dir/server/solr/collection1/conf/
  4. ダウンロードした schema.xmlsolrconfig.xml を同じディレクトリにコピーします。
  5. Solr を再起動します。
  6. MSRP の場合、新規インストールである場合を除き、MSRP インデックス再作成ツールを実行します。

高度な MLS のインストール

高度な MLS をサポートするための SRP コレクション(MSRP または DSRP)については、カスタムスキーマと Solr 設定に加え、新しい Solr プラグインが必要です。必要なアイテムがすべてダウンロード可能な zip ファイルにパッケージ化されています。さらに、Solr がスタンドアロンモードでデプロイされている場合に使用するインストールスクリプトが同梱されています。

高度な MLS を入手するには、ドキュメントのデプロイセクションの AEM の高度な MLS を参照してください。

SolrCloud モードまたはスタンドアロンモードのどちらかのインストールを開始するには:

  • AEM-SOLR-MLS zip アーカイブを Solr をホストしているサーバーにダウンロードします。
  • アーカイブを展開します。

SolrCloud モード - 高度な MLS

インストール手順 - 以下のとおり、Solr4 と Solr5 で少し違いがある点に注意してください。

  1. SolrCloud モードの Solr をインストールして設定します。
  2. 高度な MLS パッケージの内容をディスクに抽出します。以下の内容が含まれています。
    • schema.xml
    • solrconfig.xml
    • stopwords/ フォルダー
    • profiles/ フォルダー
    • extra-libs/ フォルダー
  3. 以下の手順で新しい設定を用意します。
    1. 新しい設定ディレクトリ(new-config-dir)を作成します。
      • 例えば、solr-install-dir/myconfig/ とします。
      • stopwords/ と lang/ というサブフォルダーを作成します。
    2. 既存の Solr new-config-dir
      • Solr4 の場合:solr-install-dir/example/solr/collection1/conf/* をコピー
      • Solr5 の場合:solr-install-dir/server/solr/configsets/data_driven_schema_configs/* をコピー
    3. 抽出した schema.xmlsolrconfig.xmlnew-config-dir にコピーして既存のファイルを上書きします。
    4. Solr5 の場合:solr_install_dir/server/solr/configsets/sample_techproducts_configs/conf/lang/*.txt" を new-config-dir/lang/ にコピー
    5. 抽出した stopwords/ フォルダーを new-config-dir にコピーします。
      • コピーした結果は new-config-dir/stopwords/*.txt となります。
  4. ZooKeeper に新しい設定をアップロードします。
  5. 以下のとおり、新しい profiles/ フォルダーをコピーします。
    • Solr4 の場合:各ノードの resources/ フォルダーにコピーします。
    • Solr5 の場合:Solr の各インストールディレクトリの server/resources/ フォルダーにコピーします。すべてのノードが同じ Solr インストールディレクトリにある場合、このステップは一度だけ実行します。 
  6. lib/ フォルダーを、SolrCloud の各ノードの(solr.xml が含まれている)solr-home ディレクトリ内に作成します。jar ファイルを以下の場所から各ノードの新しい lib/ フォルダーにコピーします。
    • 高度な MLS のパッケージから抽出した extra-libs/
    • solr-install-dir/contrib/extraction/lib/*.jar
    • solr-install-dir/dist/solr-cell-*.jar
    • solr-install-dir/contrib/clustering/lib/*.jar
    • solr-install-dir/dist/solr-clustering-*.jar
    • solr-install-dir/contrib/langid/lib/*.jar
    • solr-install-dir/dist/solr-langid-*.jar
    • solr-install-dir/contrib/velocity/lib/*.jar
    • solr-install-dir/dist/solr-velocity-*.jar
    • solr-install-dir/contrib/analysis-extras/lib/*.jar
    • solr-install-dir/contrib/analysis-extras/lucene-libs/*.jar
  7. シャードの数、レプリカ数および設定名など、必要なパラメーターを設定してコレクションを作成します。
  8. 設定の名前をコレクション作成中に指定しなかった場合は、ZooKeeper にアップロードした設定に新しく作成したこのコレクションをリンクします。
  9. MSRP の場合、新規インストールである場合を除き、MSRP インデックス再作成ツールを実行します。

スタンドアロンモード - 高度な MLS

高度な MLS のパッケージには、インストールスクリプトが同梱されています。

スタンドアロンの Solr サーバーをホストしているサーバーにパッケージの内容を抽出したら、必要なリソースと設定ファイルをインストールするために、インストールスクリプトを実行します。

  • スタンドアロンモードの Solr をインストールします。
  • Solr5 を実行している場合、以下のコマンドで collection1 を作成します(Solr4 と同様)。
    • ./bin/solr start
    • ./bin/solr create_core -c collection1 -d sample_techproducts_configs
  • インストールスクリプトを実行:Install [-v 4|5] [-d solrhome] [-c collectionpath]
    各オプションの説明:
    • -d solrhome
      Solr インストールディレクトリ
    • -c collectionpath
      Solr のコレクションのパス
    • --help
      コマンドラインオプションを表示
    • -v [4|5]
      Solr のバージョンを設定
  • Solr 4.10.4 の場合の例:
    • Install.bat -v 4 -d c:/solr-4.10.4 -c c:/solr-4.10.4/example/solr/collection1
  • Solr 5.4.0 の場合の例:
    • Install.sh -v 5 -d /tmp/solr-5.4.0 -c /tmp/solr-5.4.0/server/solr/collection1

注意

  • 「.orig」を付加することで、新しいバージョンをインストールする前に、インストールスクリプトによって schema.xml と solrconfig.xml がバックアップされます。

solrconfig.xml について

solrconfig.xml は、自動コミットの間隔と検索表示を制御するファイルであり、テストと調整が必要です。

<autoCommit>:デフォルトでは、AutoCommit(安定ストレージへのハードコミット)の間隔は、15 秒に設定されています。検索表示は、デフォルトではコミット前のインデックスを使用するよう設定されています。

コミットによる変更が反映された更新済みのインデックスを使用するよう検索を変更するには、含まれている <openSearcher> を true に変更します。

<autoSoftCommit>:「ソフト」コミットを使用すると、変更は表示されます(インデックスが更新されます)が、変更は安定ストレージに同期(ハードコミット)されません。これによりパフォーマンスが向上します。デフォルトでは、含まれている <maxTime> が -1 に設定されており、<autoSoftCommit> は無効になっています。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

リーガルノーティス   |   プライバシーポリシー