使用AEM Assets设置智能翻译搜索 set-up-smart-translation-search-with-aem-assets

智能翻译搜索允许使用非英语搜索词来解析为英语内容。 要为Smart Translation Search设置AEM,必须安装和配置Apache Oak Search Machine Translation OSGi捆绑包以及包含翻译规则的相关免费和开源Apache Joshua语言包。

NOTE
必须在每个需要智能翻译搜索的AEM实例上设置该搜索。
  1. 下载并安装Oak Search Machine Translation OSGi包

  2. 下载并更新Apache Joshua语言包

    • 下载并解压缩所需的Apache Joshua语言包

    • 编辑joshua.config文件并注释掉以下列开头的两行:

      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
      
  3. 使用更新的栈内存分配重新启动AEM

    • 停止AEM

    • 确定AEM所需的新栈大小

      • AEM在语言缺失前栈大小+模型目录的大小向上舍入到最接近的2GB

      • 例如:如果预安装语言包,则AEM安装需要运行8GB栈,并且语言包的模型文件夹为3.8GB未压缩,则新的栈大小为:

        原始8GB + ( 3.75GB四舍五入到最接近的2GB,即4GB),总共12GB

    • 验证计算机是否具有此数量的额外可用内存。

    • 更新AEM启动脚本以调整新栈大小

      • 例如java -Xmx12g -jar cq-author-p4502.jar
    • 在栈大小增加的情况下重新启动AEM。

    note note
    NOTE
    语言包所需的栈空间可能会增大,尤其是在使用多个语言包时。
    始终确保​ 实例有足够的内存 ​来容纳分配的栈空间的增加。
    必须始终计算​ 基栈以支持可接受的性能,但不安装任何语言包
  4. 通过Apache Jackrabbit Oak机器翻译全文查询词提供商OSGi配置注册语言包

    • 对于每个语言包,通过AEM Web控制台的配置管理器创建一个新的Apache Jackrabbit Oak机器翻译全文查询词提供程序OSGi配置

      • Joshua Config Path是joshua.config文件的绝对路径。 AEM进程必须能够读取语言包文件夹中的所有文件。

      • Node types是候选节点类型,其全文搜索将与此语言包结合进行翻译。

      • Minimum score是要使用的翻译术语的最小置信度分数。

        • 例如,hombre(西班牙语,表示“man”)可将置信分数为0.9的英语单词“man”翻译为置信分数为0.2的英语单词“human”。 将最低分数调整为0.3将保留“hombre”到“man”的翻译,但放弃“hombre”到“human”的翻译,因为此翻译分数0.2小于0.3的最低分数。
  5. 对资产执行全文搜索

    • 由于dam:Asset是此语言包再次注册的节点类型,因此我们必须使用全文搜索来搜索AEM Assets以验证其有效性。
    • 导航到AEM > Assets并打开Omnisearch。 使用安装了语言包的语言搜索术语。
    • 根据需要,调整OSGi配置中的最低分数以确保结果的准确性。
  6. 更新语言包

    • Apache Joshua语言包完全由Apache Joshua项目维护,其更新或更正由Apache Joshua项目自行决定。

    • 如果更新了语言包,要在AEM中安装更新,必须执行上述步骤2 - 4,并根据需要调整栈大小。

      • 请注意,将解压缩的语言包移动到crx-quickstart/opt文件夹时,请先移动任何现有的语言包文件夹,然后再复制到新的中。
    • 如果AEM不需要重新启动,则必须重新保存与更新的语言包相关的相关Apache Jackrabbit Oak机器翻译全文查询词提供程序OSGi配置,以便AEM处理更新的文件。

更新damAssetLucene索引 updating-damassetlucene-index

为了使AEM智能标记受AEM智能翻译的影响,必须更新AEM的/oak :index /damAssetLucene索引,以将预测的Tags(“智能标记”的系统名称)标记为资产聚合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"/>

其他资源 additional-resources

recommendation-more-help
a483189e-e5e6-49b5-a6dd-9c16d9dc0519