スマート翻訳検索を使用すると、英語以外の検索用語を使用して英語のコンテンツに解決できます。 スマート翻訳検索用に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 heap size +モデルディレクトリのサイズを最も近い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
の最小スコアよりも小さいためです。アセットに対する全文検索の実行
言語パックの更新
Apache Joshua言語パックは、Apache Joshuaプロジェクトによって完全に管理され、その更新や修正はApache Joshuaプロジェクトの裁量となります。
言語パックを更新した場合、AEMで更新をインストールするには、上記の手順2~4に従い、必要に応じてヒープサイズを上下に調整する必要があります。
AEMを再起動する必要がない場合は、AEMが更新されたファイルを処理するために、更新された言語パックに関連する関連するApache Jackrabbit Oak Machine Translation Fulltext Query Terms Provider OSGi設定を再保存する必要があります。
AEM Smart TagsがAEM Smart Translationの影響を受けるには、AEM /oak :index /damAssetLucene
インデックスを更新して、predictedTags(「Smart Tags」のシステム名)をAssetの集計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"/>