This content has been marked as final. Show 2 replies
There are two ways of updating the Endeca MDEX. The first is a "Baseline Update", where the MDEX is re-created from scratch from the source data. The other method is known as a "Partial Update" (aka rapid update), where records in the MDEX can be added, removed or updated/replaced. The standard pipeline as and partial pipeline in the Developer Studio correspond to each one of these types of updates. In order to support "Partial Updates", you need to have a record spec defined. This is analogous to a primary key in a databases. To defined this, you will need to assign one of your properties to be a "Record Spec" and the value must be unique as no two records can possess the same primary key.
Rapid updates is something that is optional and if you do not want to enable this, you can avoid defining a record spec but you will need to update the AppConfig.xml such that it disables rapid updates. In the dgraph-defaults section, you will find:
<!-- <directory name="localCumulativePartialsDir">./data/dgraphs/local_cumulative_partials</directory> -->
Comment out the localCumulativePartialsDir. You will also need to update each individual Dgraph configuration and disable the update-dir:
<dgraph id="Dgraph1" host-id="MDEXHost" port="15000">
<property name="restartGroup" value="A" />
<property name="updateGroup" value="a" />
<!-- <update-dir>./data/dgraphs/Dgraph1/dgraph_input/updates</update-dir> -->
Once these are commented out, the MDEX should start successfully despite the lack of a record spec, however, best practices recommends that a record spec be defined.