Marshall Schor wrote:
Richard Eckart de Castilho wrote:
Hello everybody,

recently the question of replacing all our CasConsumers with
AnalysisEngines comes up quite frequently and the potential myth that
CasCosumers should no longer be used and instead AnalysisEngines
should be preferred crops up every once in a while. I tried finding a
definitive information about this in the mailing list archives, but I
did not.

In 2007 Adam Lally stated:

In recent versions of UIMA there is essentially no difference between
an AnalysisEngine and a CasConsumer
I think at least in CPEs it makes a difference, since with the first
CasConsumer the CPE supposed to be run in a single thread, so the
CasConsumer sees all the documents. The CPE, however, is afaik
deprecated and replaced by UIMA AS.

If an AnalysisEngine has "allow multiple deployment" set to "false",
that should have the same affect within a CPE or within UIMA AS.

So the questions are:

- Is there any reason why CasConsumers are still required?

- Is there any reason that a CasConsumer cannot be replaced "as is"
(minus inheriting from a different base class and changing the
descriptor type) by an AnalysisEngine that may not be deployed multiply?

I think this is basically correct.  The one thing I'm not completely
sure of because I haven't checked (:-) ) is whether calling something a
Cas Consumer moves the component in the default flow to the end of the
pipe line, in a CPE.  In UIMA-AS, it doesn't, I think..
Is there a reason why Cas Consumer is not deprecated ?

The tutorial and dev guide suggest that it should not longer be used:

2.4.3:
"... We recommend for future work that users implement and use Analysis Engine components instead of CAS Consumers. ..."

Jörn

Reply via email to