AEM Assets でのスマート翻訳検索の設定 set-up-smart-translation-search-with-aem-assets
スマート翻訳検索を使用すると、英語以外の検索用語を使用して英語のコンテンツに対応することができます。スマート翻訳検索用に AEM を設定するには、Apache Oak Search Machine Translation OSGi バンドルと、翻訳ルールを含む、関連する無料のオープンソースである Apache Joshua 言語パックをインストールして設定します。
-
Oak Search Machine Translation OSGi バンドルをダウンロードしてインストールする
- AEM の Oak バージョンに対応する Oak Search Machine Translation OSGi バンドルをダウンロードします。
- ダウンロードした Oak Search Machine Translation OSGi バンドルを
/system/console/bundles
経由で AEM にインストールします。
-
Apache Joshua 言語パックをダウンロードして更新します
-
目的の Apache Joshua 言語パックをダウンロードして解凍します。
-
joshua.config
ファイルを編集し、以下で始まる 2 行をコメントアウトします。code language-none feature-function = LanguageModel ...
-
言語パックのモデルフォルダーのサイズを決定して記録します。これは、AEM で必要とされる余分なヒープ領域の量に影響します。
-
解凍した Apache Joshua 言語パックフォルダー(
joshua.config
の編集済み)を以下の場所に移動します。code language-none .../crx-quickstart/opt/<source_language-target_language>
次に例を示します。
code language-none .../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 を再起動します。
note note NOTE 特に複数の言語パックが使用されている場合、言語パックに必要なヒープ領域が大きくなる可能性があります。 割り当てられたヒープ領域の増加に対応するために、インスタンスに十分なメモリがある ことを常に確認します。 言語パックがインストールされていなくても許容可能なパフォーマンスをサポートするために、常にベースヒープを計算する必要があります。 -
-
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
は、翻訳された用語が使用されるための信頼性に関する最小スコアです。- 例えば、hombre(スペイン語の「男」)は、信頼性スコア
0.9
で英単語「man」に翻訳されますが、信頼性スコア0.2
で英単語「human」に翻訳される場合もあります。最小スコアを0.3
に調整すると、翻訳スコア0.2
が最小スコア0.3
よりも小さいため、「hombre」から「man」への翻訳は保持されますが、「hombre」から「human」への翻訳は破棄されます。
- 例えば、hombre(スペイン語の「男」)は、信頼性スコア
-
-
-
アセットに対してフルテキスト検索を実行します
- dam:Asset は、この言語パックが再登録されるノードタイプなので、これを検証するには、フルテキスト検索を使用して AEM Assets を検索する必要があります。
- AEM/Assets に移動し、オムニサーチを開きます。言語パックがインストールされている言語で用語を検索します。
- 必要に応じて、OSGi 設定の最小スコアを調整し、結果の正確性を確保します。
-
言語パックを更新します
-
Apache Joshua 言語パックは、Apache Joshua プロジェクトで完全に管理されており、更新や修正は Apache Joshua プロジェクトの裁量によって行われます。
-
言語パックを更新した場合、AEM で更新をインストールするには、上記の手順 2 ~ 4 に従い、必要に応じてヒープサイズを調整する必要があります。
- 解凍した言語パックを crx-quickstart/opt フォルダーに移動する場合は、新しいフォルダーにコピーする前に既存の言語パックフォルダーを移動します。
-
AEM を再起動する必要がない場合は、更新された言語パックに関連する Apache Jackrabbit Oak Machine Translation Fulltext Query Terms Provider OSGi 設定を再保存して、AEM が更新されたファイルを処理できるようにします。
-
damAssetLucene インデックスの更新 updating-damassetlucene-index
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"/>