dananicula , Oracle , 2015 年 6 月 30 日
作者: Phil Franklin , 甲骨文大学首席教师 摘要 本文旨在帮助 Oracle Commerce 平台用户了解用于在 Endeca MDEX 引导式搜索引擎中索引及配置数据的无 Forge 管道式设计。
无论您是完整的 Oracle Commerce 平台用户,还是单独使用 Endeca 引导式搜索,内容采集系统( CAS ) 都是索引架构中的关键组件。 历史 首先,让我们来看看 Endeca MDEX 搜索引擎中数据采集的历史。
注 RS= 记录存储, LMC=last-mile-craw , ECR=Endeca 配置存储库 蓝色箭头 = 拉操作,绿色箭头 = 推操作 参照上图中的编号:
1. Forge/Dgidx 管道(信息转换层) — 这是 MDEX 索 引完成数据采集和配置的“传统”方式。 Forge 数据设计通过 Developer Studio 来完成。该工具能够在索引项目中对配置 / 管 道文件夹中的配置文件进行可视化修改。 Forge 是 一个 32 位的进程,只能从数据源中获取数据以进行转换。
这也是种单线程的方式,因此在处理较大的数据集时会比较困难。该方式有时意味着使用多个 Forge 实 例或编写多线程的 Java 操 作。 Forge 确 实有能力连接来自多个数据源的数据,并生成 Endeca 记录结构作为连接的结果。
2. CAS-Forge-Dgidx — 内容采集系统的最初目的是用于从“非结构化”的数据源获取数据,例如文件系统和各种第三方 CMS 系 统,在这些系统中可能包含较大的文本字段或文档。可插入文档转换工具,以将文档转换至元数据源字段和文本中,从而进行索引。 CAS 最初用于通过定制适配器将数据拉入 Forge 进 程中,而适配器可与 CAS 服 务记录存储相连接。
后来, CAS 被 扩展用于覆盖数据源,而此前数据源只能够直接导入 Forge , 同时保留其非结构化的数据能力。在被 Oracle 收 购之后,第三方 CMS 适 配器被去除,而 CAS 则成为最受推荐的数据采集方法。它能够管理用于索引的维度值配置项。
这种数据采集方式在 Oracle Commerce 中 最复杂的运用是产品目录的整合模板,被用于核心平台( ATG ) 与至 11-1 版本 Endeca 的 整合(参见上图)。
第二张图的索引项目模板使用了两个 Forge 实例:第一个用于生成配置文件,第二个使用生成的文件(和一些手动管理的文件)为 Dgidx 生成信息。 Developer Studio 的使用在第二张图中变得更加困难,因为绝大多数的配置信息已被存储在其他位置。
无论第 1 种 方式还是第 2 种方式, Forge 仍然是一个瓶颈,并且仍需要精心管理维度值(分类值),因为它们没有一个中央的记录位置。它们被生成为 data/state 和 forge_output ; 在不同环境之间(筹划和生产)移动它们需要特别细心。
3. CAS-Dgidx — 这是目前 Oracle Commerce 11.1 版本推荐的方式,完全不需要 Forge (以 及使用 Developer Studio 进行配置)。
数据既可以被推至(通过命令行、脚本或 API ) CAS 记 录存储中,也可以通过拉动机制获取( CAS Crawl )。
CAS 是 64 位的多线程服务器;能够按需并且平行执行这些操作。
CAS 记录存储既支持完整更新,也支持增量更新,通常与索引过程异步进行。
支持在索引之前在 CAS 中进行文件转换和数据处理。
通过专为每个索引项目设计的“ last-mile-crawl ” 组件,数据和配置也将得到集成。可从三个主要位置获得配置:被管理的维度值从 CAS 记 录存储中获取,模式和优先级规则从 Endeca 配 置存储库( ECR ) 以及索引项目的 config/mdex 文 件夹中获取。 ECR 拥 有一个可编程的 API , 因此可自动填充。“ last-mile-crawl ” 写出了 Dgidx 所需的所有信息,以进行项目索引。
该项目还拥有一个集中式的维度 ID 管理器,它能够为索引项目中正在管理的维度值提供一个中央的记录位置——这相比于以 Forge 为基础的方法是一项巨大的改进。
上图显示了无 Forge 式 管道的基本要素。请注意,对于 11-1 目 录整合项目,数据和维度值将通过 API 被 推入至记录存储中。只有 last-mile-crawl 将通过基准线和部分更新脚本执行为一个 crawl 。
请注意, CAS 方法可扩展至包括其他输入,例如来自第三方的输入以及并不一定需要从核心平台存储库中提取或推出的输入。 未来功能 在 11-1 版本中,无 Forge 设计首次被用作索引中对数据和配置进行整合的默认方法。目前, CAS 设 计还无法在 CAS 系 统内连接本地数据,因此,任何数据连接必须在加载记录存储之前从外部实现。未来,我们期望在该领域取得进一步的发展( 请注意:该意见仅代表作者本人 )
可以确定的是,无 Forge 方法将是一个产品方向,因此,对于所有使用 Endeca 引导式搜索引擎开展新项目或对现有项目进行重大更新的用户,我们建议您考虑一下该方法。
请注意,甲骨文大学 “ Oracle Commerce: Implementing Guided Search 11-1 ( 3 天) ” 培训课程 将具体讲解这方面的内容。
Phil Franklin 在多家私有企业和公开上市企业中从事咨询和教育服务的制定、交付和管理工作已超过 25 年,他的工作重点是软件开发与流程完善。在他的 职业生涯中,他曾担任过首席技术官和服务总监等高管职位。在过去的 10 年里, Phil 专门从事电子商务和搜索解决方案的技术开发教育 工作,并在 Oracle 收购 Endeca 之后加入 Oracle 。他目前授课 Oracle Commerce ( Endeca/ATG )和 Oracle 专业知识等方面的课程,以及 Cloud 和 Java 语言的开发课程。 |