Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 

F4 alpha 2

Excerpt

Creating, modifying or deleting objects in the repository generates JMS events. The indexer listens to those events, retrieves the RDF from the repository

...

and then passes the RDF to a series of workers that process it in various ways, such as copying to a triplestore or Solr indexing. 

One of the major goals of this event-based indexing approach is to reduce the impact of indexing on core repository functionality.  The repository just creates a JMS event (containing only the object pid and the event type, which are already in memory), and does not need to do any extra work for indexing before moving on to its next task.  When repository updates happen at a faster rate than the indexer can match, JMS events can wait in the queue until the indexer catches up, and the updates can continue without waiting.  When processing large batches of updates, you can even disable the indexer.

...