使用AEM Assets设置智能翻译搜索

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

注意

必须在每个需要智能翻译搜索的AEM实例上设置智能翻译搜索。

  1. 下载并安装Oak搜索机器翻译OSGi包

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

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

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

      feature-function = LanguageModel ...
      
    • 确定并记录语言包的模型文件夹的大小,因为这影响AEM所需的额外栈空间大小。

    • 移动解压缩的Apache Joshua语言包文件夹(使用 joshua.config 编辑)

      .../crx-quickstart/opt/<source_language-target_language>
      

      例如:

       .../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。

    注意

    语言包所需的栈空间可能会增大,尤其是在使用多个语言包时。

    始终确保 实例具有足够的内存 以适应增加的已分配栈空间。

    必须始终计算基栈以支持可接受的性能,而无需任何语言包 已安装。

  4. 通过Apache Jackrabbit Oak机器翻译全文查询条款提供商OSGi配置注册语言包

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

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

      • Node types 是全文搜索将涉及此语言包进行翻译的候选节点类型。

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

        • 例如,hombre(西班牙语,表示“man”)可将置信分数为 0.9 翻译成human这个英文单词,并加上一个置信度分数 0.2. 将最小分数调整为 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索引

为了 AEM智能标记 将受AEM Smart Translation、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"/>

其他资源

在此页面上