Sunday, March 4, 2007

Rhizome Status

Rhizome is the new backend that will drive Sinciput (it is a complete replacement of Pilaster, which was a good, but limited, architecture).

In a nutshell, Rhizome is a non-hierarchical storage and retrieval engine that includes full text searching, metadata-based data retrieval, relationship support, and an open extension mechanism.

While Pilaster was limited to a single sort of data storage mechanism (namely, Berkeley DB), Rhizome has no such limitation. Further, while Pilaster required that the repository and the index files be located in the same "place", Rhizome makes no such requirement.

As it stands now, Rhizome has the following items completed already:
  • A handful of classes implementing the new Rhizome XML format.
  • A core set of managing classes and interfaces.
  • A file system implementation of the repository.
  • A Lucene-based implementation of the search indexing code.
The main task left, now, is to implement the searching interface for Lucene, which will provide a method of performing either semi-structured or completely structured searches of the Rhizome repository.