My XMI Runneth Over - How we paddled faster with Apache Lucene
CohesionForce has developed an E4 based application that employs a heavy use of EMF, Data Binding, and Editing Domains. The data is serialized to XMI and stored in a file per data instance. While this approach was sufficient for small datasets, it was quickly overwhelmed as the number of XMI files reached the thousands.
We solved the issue by using EMF Annotations that describe how each EClass and EStructuralFeature should be indexed and developed an implementation using Apache Lucene to accomplish the indexing. This approach allows us to search for specific attribute or reference values without loading each XMI file to do so.
This session will cover:
1. The approach for creating a flat index for a structured EClass
2. The EMF Annotations used
3. The Apache Lucene features for creating and searching the index
We will also release the source for our implementation and discuss the API for using it.