This post if part of a series about the File System Toolkit - a custom content delivery API for SDL Tridion. In the previous post Criteria for Dynamic Queries , I presented index classes that allow us to execute performant lookups for keys in indexes on the file system. This post presents the logic behind these indexes. The requirement for the Toolkit API was not to use a database or a third party product such as search engines or indexers. In order to do searches for content on a file system where we had JSON files filled with properties we want to search on, we need to have indexes of those properties. It would be impossible to do performant searches without such indexes. This meant creating my own indexes and indexing logic (put, get) backed by a fast searching algorithm. In other words, it meant writing my own simple database engine. The rationale looks like this: Each query must be as fast as possible. The fastest way to query would be to lookup a key in a...
talk is cheap. show me the code.