スマート翻訳検索を使用すると、英語以外の検索用語を使用して英語のコンテンツに対応することができます。スマート翻訳検索用に AEM を設定するには、Apache Oak Search Machine Translation OSGi バンドルと、翻訳ルールを含む、関連する無料のオープンソースである Apache Joshua 言語パックをインストールして設定します。
スマート翻訳検索は、必要な各 AEM インスタンスで設定します。
Oak Search Machine Translation OSGi バンドルをダウンロードしてインストールする
/system/console/bundles
経由で AEM にインストールします。Apache Joshua 言語パックをダウンロードして更新します
目的の Apache Joshua 言語パックをダウンロードして解凍します。
joshua.config
ファイルを編集し、以下で始まる 2 行をコメントアウトします。
feature-function = LanguageModel ...
言語パックのモデルフォルダーのサイズを決定して記録します。これは、AEM で必要とされる余分なヒープ領域の量に影響します。
解凍した Apache Joshua 言語パックフォルダー(joshua.config
の編集済み)を以下の場所に移動します。
.../crx-quickstart/opt/<source_language-target_language>
次に例を示します。
.../crx-quickstart/opt/es-en
ヒープメモリ割り当てを更新して、AEM を再起動します
AEM を停止します。
AEM に必要な新しいヒープサイズを決定します
AEM の pre-language-lack のヒープサイズ + モデルディレクトリのサイズを最も近い 2 GB に切り上げた値
例:プレ言語パックに関して、AEM のインストール実行に 8 GB のヒープが必要で、言語パックのモデルフォルダーが非圧縮で 3.8 GB の場合、新しいヒープサイズは次のようになります。
オリジナル 8GB
+(3.75GB
を最も近い 2GB
で切り上げた値 4GB
)の合計値である 12GB
マシンに、利用可能なメモリ空き容量がこの値の量あることを確認します。
AEM 起動スクリプトを更新して、新しいヒープサイズに合わせて調整します
java -Xmx12g -jar cq-author-p4502.jar
ヒープサイズを増やして AEM を再起動します。
特に複数の言語パックが使用されている場合、言語パックに必要なヒープ領域が大きくなる可能性があります。
割り当てられたヒープ領域の増加に対応するために、インスタンスに十分なメモリがあることを常に確認します。
言語パックがインストールされていなくても許容可能なパフォーマンスをサポートするために、常にベースヒープを計算する必要があります。
Apache Jackrabbit Oak Machine Translation Full-text Query Terms Provider OSGi 設定を使用して言語パックを登録します。
各言語パックに対して、AEM web コンソールの Configuration Manager を使用して新しい Apache Jackrabbit Oak Machine Translation Full-text Query Terms Provider OSGi 設定を作成します。
Joshua Config Path
は joshua.config ファイルへの絶対パスです。AEM プロセスは、言語パックのフォルダー内のすべてのファイルを読み取ることができる状態にしておく必要があります。
Node types
は、フルテキスト検索でこの言語パックを翻訳に関与させる候補ノードタイプです。
Minimum score
は、翻訳された用語が使用されるための信頼性に関する最小スコアです。
0.9
で英単語「man」に翻訳されますが、信頼性スコア 0.2
で英単語「human」に翻訳される場合もあります。最小スコアを 0.3
に調整すると、翻訳スコア 0.2
が最小スコア 0.3
よりも小さいため、「hombre」から「man」への翻訳は保持されますが、「hombre」から「human」への翻訳は破棄されます。アセットに対してフルテキスト検索を実行します
言語パックを更新します
Apache Joshua 言語パックは、Apache Joshua プロジェクトで完全に管理されており、更新や修正は Apache Joshua プロジェクトの裁量によって行われます。
言語パックを更新した場合、AEM で更新をインストールするには、上記の手順 2 ~ 4 に従い、必要に応じてヒープサイズを調整する必要があります。
AEM を再起動する必要がない場合は、更新された言語パックに関連する Apache Jackrabbit Oak Machine Translation Fulltext Query Terms Provider OSGi 設定を再保存して、AEM が更新されたファイルを処理できるようにします。
AEM スマートタグが AEM スマート翻訳の影響を受けるようにするには、AEM の /oak :index /damAssetLucene
インデックスを更新して、predictedTags(「スマートタグ」のシステム名)をアセットの集計 Lucene インデックスの一部としてマークする必要があります。
/oak:index/damAssetLucene/indexRules/dam:Asset/properties/predicatedTags
の下で、設定が次のようになっていることを確認します。
<damAssetLucene jcr:primaryType="oak:QueryIndexDefinition">
<indexRules jcr:primaryType="nt:unstructured">
<dam:Asset jcr:primaryType="nt:unstructured">
<properties jcr:primaryType="nt:unstructured">
...
<predictedTags
jcr:primaryType="nt:unstructured"
isRegexp="{Boolean}true"
name="jcr:content/metadata/predictedTags/*/name"
useInSpellheck="{Boolean}true"
useInSuggest="{Boolean}true"
analyzed="{Boolean}true"
nodeScopeIndex="{Boolean}true"/>