In order to promote content, I understand that we send (or publish content) to Fredhopper, which will "deploy" the updates to the Fredhopper Index by placing XML files into the default universe folder.

From there Fredhopper moves and processes the files (using the STJob.kjb), finally placing the files into a "processed" (i.e. INDEXER\data\xml\incoming\processed) folder.


  1. Is the STJob.kjb the XML file(s) that is/are processed by Fredhopper or the definition (Kettle job?) for how they're processed?
  2. How do these XML files relate to SDL Web Published items and/or Publish Transactions?

For example, is there a difference between publishing individual Components (Dynamic Component Presentations) versus a Component Template set up for Experience Optimization?

I'm trying to confirm any practices for when you want to update Fredhopper's index in the most efficient way.

  1. STJob.kjb is the Kettle job, which defines what should happen with the incoming XML (which are sent separately and processed one by one by the job). The default one just moves the files to the incoming folder where they are then picked up by the Fredhopper indexer.
  2. Each Publish Transaction will result in a single file sent to Fredhopper containing all relevant Component Presentations, assuming there is at least one of them using the "Add to Experience Optimization" Template Building Block.
  • Perfect. So from a FH perspective this gives us a way to adjust how large or granular of an update we make to the index (by changing how much we publish).
    – Alvin Reyes
    Jun 14 '17 at 16:19
  • 1
    In theory, yes. But it can be difficult to control the number of publish transactions created, especially using the CME. Jun 15 '17 at 8:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.