Marshall Schor created UIMA-4135:
------------------------------------
Summary: support for modifying indexed FSs
Key: UIMA-4135
URL: https://issues.apache.org/jira/browse/UIMA-4135
Project: UIMA
Issue Type: Improvement
Components: Core Java Framework
Reporter: Marshall Schor
Assignee: Marshall Schor
Fix For: 2.7.0SDK
Both users and the UIMA framework (during deserialization of CASes in XCAS,
XMI, or various Binary formats) may want to modify a feature in a FS which is
used as a key in some index specification. If this FS is in the index, then
indices which use this feature as a key may become corrupted, unless the FS is
first removed from the indices. After that, the feature may be updated, and
the FS re-added to the indices.
If allow_multiple_add_to_indices is enabled, a particular FS may be added to
indices multiple times; the above remove operation would need to remove all of
these, and the above add operation would need to add-to-indices the same number
as was removed.
The count of the number of times a FS was in the indices needs to be kept by
View.
There are several optimizations possible for this operation. Bag indices do
not need to be disturbed as they have no keys. Set indices only have at most
one instance of a particular FS. FSs which are subtypes of AnnotationBase are
only indexed in at most 1 view (the view of their sofa). The remove-all kind
of operation for Sorted indices can be made efficient in that all the identical
elements are stored adjacently, and the remove can be done in bulk.
The update operations for one FS may involve multiple key values.
Design a way to encapsulate the update operation that is efficient, for both
users and the UIMA framework.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)