Currently our setup for our search engine is merely an InstantSearch front-end to an open-source engine called TypeSense. We made specialized scripts to clean and load the government transparency data into the Typesense instance.
Currently, the front-end is public and has unlimited usage, but we want to limit the daily searches available for each visitor (similar to newspaper paywalls), while still allowing people to request a fair use account (for journalists, by example).
Technically this means:
- Implement a back-end that acts as a proxy to the search requests to Typesense and checks for user authentication. This needs to implement full-fledged user management under reasonable security standards, preferabily implemented through existing authentication solutions or libraries.
- Modifying the InstantSearch-ba