Hi,
Others on the list might have a better answer, but we've been doing this by
'faking' it with the AEs. If something is to be passed along for further
processing, an annotation is created that the next AE will look for. If
it's not there, it doesn't do anything, otherwise it processes.
Unfortunately, this does not really save on bandwidth, etc, as the CAS
object is still passed around. It does however allow you to quickly
determine whether or not to waste any more cycles on it!!!
Steve
At 07:19 AM 12/18/2007, you wrote:
Hello,
for a processing engine we need something like a document filter, a component
that takes documents as inputs and forwards them to the output only if
they meet
some defined criteria and otherwise to drop the document completely.
In your opinion, what is the best way of archiving this? As far as I
understand
the UIMA concept, a regular AE doesn't seem to be the ideal place for this,
since it should output every CAS passed into the process() method. The
next idea
I had was using something like a CAS Multiplier, but instead of outputing
multiple CASes for each incoming one, I would only output the incoming CAS
when
the filter criteria are met and otherwise drop it.
Is there any other component in the UIMA framework that would be a natural
place
for such a filter component in a processing engine?
Christoph