代码改变世界

Endeca-types of update-更新类型

2011-10-11 15:05  AnyKoro  阅读(402)  评论(0编辑  收藏  举报

更新类型

本章节将概述Endeca更新的种类

更新是由MDEX Engine处理的

MDEX Engine处理三类更新。尽管这里会把三种更新都介绍,但是我们着重讲partial updates

l  Baseline updatesBaseline updates也叫做full updates,包括了重新生成数据索引,并需要停止和重启MDEX Engine

l  Delta updatesDelta updatesbaseline updates一个变化。在delta updates中,只会把新增、修改或删除了的源记录(并不是所有源记录)加入到Forge pipeline(先前baseline updates的输出)中。Delta updates需要停止和重启MDEX Engine

l  Partial updatesPartial updatesMDEX Engine中数据集的增量变化。Partial updates以一种连续的方式运行(即,无需重启MDEX Engine)并因此被称为连续局部更新(perpetual partial updates)。

Baseline updates

Baseline updates会生产全部数据集的一个完整的新索引。它对整个数据集进行更新操作。

在你的baseline update pipeline中,你可以新增,修改或移除记录,维度,维度值,和属性。此外,改变配置,比如重新排列维度或改变禁止词,这些都是需要baseline updates的。

Baseline update 处理过程

baseline update处理过程中,Forge pipeline配置文件和所有源数据作为其输入数据。

生成的Endeca索引作为ITL处理的结果。一份索引副本会被添加到dgraph_input目录中。(此处的目录名可以是任意的,这里只是作为一个实例。你可以为此目录指定名称。)Dgrahp将此索引作为输入,开始处理查询。

注意:MDEX Engine根据从每个成功启用的partial update中获得的信息, 调整dgraph_input目录。该目录不仅会在被MDEX Engine读取以重启(在baseline update后),还会在运行期间被MDEX Engine修改。

加速baseline updates

这里有几种加速baseline update处理的技巧。

l  加速提取过程,通过使用Endeca Content Acquisition System(CAS)模块以启用多线程文档转换,例如从PDFWord

l  加速baseline update的索引生成时间,可以通过:

1、  分析你pipeline的任何可复用的预处理步骤,例如Perl脚本或大的join

2、  分析输入数据,是否存在不必要的通配符。

Partial updates

Partial update是一个数据集的整体改变,无需重启MDEX EnginePartial update可以让你只更新发生变化了的那部分MDEX Engine索引。

Delta updates

Delta update生成完整的baseline索引,与baseline update类似,但却是向之前的baseline update中整合进更小的源数据提取(只有新增,修改,删除的源记录)。

当你需要降低加载源数据和提取数据的时间时,Delta update是一个选择。

需要看更多关于Delta update的细节,可以看http://eden.endeca.com上的一篇名为”Implmenting Delta Updates”的文章。

运行哪种更新

在你的项目中,你可以修改源数据或修改项目配置,比如修改维度的排列顺序。根据变化的类型(更改源数据还是修改Endeca项目配置),你需要不同类型的更新。

Baselinedelta updates让你可以实现所有类型的变化,无论是源数据的还是项目配置的,但是很耗费时间。Partial update则是更快些,但它只能实现源数据的变化,无法实现项目的配置变化,比如重新排列维度顺序。一般针对项目配置变化的情况,可以定期运行baseline updates

Partial updates的高翻转和高频率处理很迅速。高翻转是指大量的数据可以被修改或删除。大量记录上的任何新增,删除和修改操作的混合在partial updates都被优雅得处理了。

此外,你可以组合记录更新到更大的规模。运行如此大批量的partial updates,意味着更好更完整的MDEX Engine生产力。