Okay. The searching aspect seems to be a common business model.
So, do you index the filing history data so that it is searchable in itself?
I wonder why you need to retrieve the entire database ahead of time instead of retrieving data (say, filing history) directly on demand from the CH API, specifying filters as necessary, and then similarly retrieve documents as and when the customer requires?
We're building the new API to meet user need, and our own (new) website http://beta.companieshouse.gov.uk accesses company data only though this API. It has no more access to company data than you do, as we're all using the same API .
Unless there is some unusual business process that we're unaware of, or you are doing data analysis, there shouldn't be a need for you to create your own data store and keep that up to date. Unlike previously, Companies House data is now free and highly available, and application designs could benefit by exploiting this fact.