The plugin used to build the entire vault index when any vault changes were detected, which was terribly inefficient and affected performance for medium to large vaults.
This PR optimises the performance of the plugin by doing the following:
Index is stored in an in-memory DB that is indexed by file and keyword for fast retrieval
Only indices for a given file that has been modified are ever updated (instead of the entire index)
The plugin used to build the entire vault index when any vault changes were detected, which was terribly inefficient and affected performance for medium to large vaults.
This PR optimises the performance of the plugin by doing the following: