Update docs to mention code-folding
Use a ternary trie for text searching
Comments
Pylint cleanup
Comments
TODO updates
Get rid of the SearchMeta class and remove duplicate code in the reload method. Also make reloads atomic
More expansive URL generation
Unused import
Query param updates to the docs
Index terms under all possible permutations of the term.

This gives a similar user experience to plain old substring matching but with much better performance. The downside is that this increases the memory used by 3X. Need to look into using a radix tree before releasing this.
Convert class -> namedtuple and expose number of search nodes
Wrap node creation and counter increment in a single method
Add methods for walking the search trie
Convert trie nodes from named tuples to regular objects with features to save memory.

Use __slots__ to avoid dictionary-per-object memory hit.
Use plain string and object pointer when only one child to avoid using
a dictionary.
Do not use properties for children of nodes
Add method for accessing and adding elements to a node
Store elements locally instead of in a set when there is only one
Fix bug where element is not always inserted