Thilo Goetz wrote:
Marshall Schor wrote:
Adam Lally wrote:
On 12/22/06, Marshall Schor <[EMAIL PROTECTED]> wrote:
If we had filtering predicates as part of an index specification,
then we
could create indexes over subsets of types quite arbitrarily. Could
this
more general mechanism serve this purpose better than views?
I'm not sure what you mean, "subets of types". Do you mean "subsets
of objects (FeatureStructures)", as in a filter that checks arbitrary
feature values to decide whether an object gets added to the index?
Yes.
Could be... this sounds like it's saying that an index is a way to
optimize what could be implemented by an annotator using a filter over
all FS in the CAS followed by a sort.
Right.
From a performance perspective, I'd vote for having the filtering on
the iterator side of thing, where it already is. If one annotator
decides it needs a "filtered index" over annotations, that can affect
the performance of all other annotators as well, because then all
annotations not only go into the regular annotation index, but the
additional index as well.
Wouldn't the performance be better with the filtering on the indexing
side, if the #writes/updates << # read accesses to the filtered set?
I'm thinking that the best thing is to have clear, documented
performance expectations, and let the developer choose.
-Marshall